Mapkit View 与 tableview 一起

发布于 2024-10-02 21:11:42 字数 457 浏览 1 评论 0原文

我是 Iphone Dev 的新手,似乎不太了解委托的事情。我们可以将 Mapkit 视图和 TableView 放在一个视图中吗?

我搜索了一下,有人说我们不能在一个视图控制器中使用多个委托。据我所知,mapkit 需要 MKMapViewDelegate 和 tableview 需要 UITableViewDelegate,到目前为止我对吗? 那么是不是说,我们不能将mapkit和tableview放在一个视图中呢?

让我也感到困惑的事情是,我做了一个简单的应用程序,将textview和mapkit一起使用。我只将 MKMapViewDelegate 传递给视图控制器。但textview还需要委托使用textFieldShouldReturn关闭键盘。所以我设法从 IB 文件链接委托,但没有将 UITextFieldDelegate 传递给视图控制器。它有效。 如果我们使用 IB 链接委托或将委托参数传递给视图控制器有什么区别?

谢谢

I am new to Iphone Dev, seems doesn't really understand delegate things. Could we put mapkit view and tableview together in one view?

I searched over, and someone said we can't use more than one delegate in one viewcontroller. As I know mapkit require MKMapViewDelegate and tableview require UITableViewDelegate, am I right till this point?
Then does it mean, we can't put mapkit and tableview in one view together?

The things that make me also confused, I did simple app that use textview and mapkit together. I only pass MKMapViewDelegate to view controller. But textview also require delegate to close the keypad using textFieldShouldReturn. So i manage to link the delegate from IB file, but did't pass UITextFieldDelegate to view controller. And it works.
What is the difference if we link the delegate using IB or pass the delegate param to view controller?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

戏舞 2024-10-09 21:11:53

视图控制器可以是地图视图和表视图的委托。通过实现委托协议的方法,对象可以简单地成为委托,在本例中是 MKMapViewDelegate 和 UITableViewDataSource 。

一个对象可以实现任意数量的协议。您可以通过将协议添加到接口来​​告诉编译器实例实现协议:

@interface MyObject : NSObject <UITableViewDataSource, MKMapViewDelegate>
{
    ...

在 IB 中设置委托和在代码中设置委托之间没有显着的技术差异。我建议将它们设置在 IB 中,因为使用 IB 会减少您编写的代码量,从而减少代码失败的可能性。

A view controller CAN be a delegate for both a map view and a table view. An object becomes a delegate simple by implementing the methods of the delegate protocol, in this case that's MKMapViewDelegate and UITableViewDataSource.

An object can implement any number of protocols. You tell the compiler that instances implement a protocol by adding it to the interface:

@interface MyObject : NSObject <UITableViewDataSource, MKMapViewDelegate>
{
    ...

There is no significant technical difference between setting a delegate in IB and in code. I would advise setting them in IB because using IB reduces the amount of code you write therefore reducing the possibility of your code failing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文