Mapkit View 与 tableview 一起
Posted
技术标签:
【中文标题】Mapkit View 与 tableview 一起【英文标题】:Mapkit View with tableview together 【发布时间】:2010-11-17 08:59:38 【问题描述】:我是 Iphone Dev 的新手,似乎不太了解委托的事情。我们可以将 mapkit 视图和 tableview 放在一个视图中吗?
我搜索了一遍,有人说我们不能在一个视图控制器中使用多个委托。据我所知,mapkit 需要 MKMapViewDelegate 和 tableview 需要 UITableViewDelegate,到目前为止我是对的吗? 那是不是说,我们不能把mapkit和tableview放在一个view里呢?
让我也困惑的事情是,我做了一个简单的应用程序,它同时使用了 textview 和 mapkit。我只将 MKMapViewDelegate 传递给视图控制器。但 textview 还要求委托使用 textFieldShouldReturn 关闭键盘。所以我设法从 IB 文件链接委托,但没有将 UITextFieldDelegate 传递给视图控制器。它有效。 如果我们使用 IB 链接委托或将委托参数传递给视图控制器,有什么区别?
谢谢
【问题讨论】:
【参考方案1】:视图控制器可以是地图视图和表格视图的委托。通过实现委托协议的方法,一个对象成为一个简单的委托,在本例中为MKMapViewDelegate
和UITableViewDataSource
。
一个对象可以实现任意数量的协议。您通过将协议添加到接口来告诉编译器实例实现协议:
@interface MyObject : NSObject <UITableViewDataSource, MKMapViewDelegate>
...
在 IB 和代码中设置委托之间没有显着的技术差异。我建议在 IB 中设置它们,因为使用 IB 可以减少您编写的代码量,从而降低代码失败的可能性。
【讨论】:
以上是关于Mapkit View 与 tableview 一起的主要内容,如果未能解决你的问题,请参考以下文章