【发布时间】:2015-01-13 14:20:24
【问题描述】:
我的应用中有几个针对 iOS 7+ 的视图,显示 MKMapView。我想要一个UIViewController 来管理那些MKMapView 视图,所以我尝试创建一个符合MKMapViewDelegate 协议的UIViewController 子类:
@interface MapViewController : UIViewController <MKMapViewDelegate>
此MapViewController 类没有关联的nib 文件。然后,在管理视图的视图控制器中,我想在其中显示MKMapView:
self.mapController = [[MapViewController alloc] init];
MKMapView *map = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, 300, 200)];
map.delegate = self.mapController;
[self.mapController setView:map];
[self.view addSubview:self.mapController.view];
这样,我可以看到MapViewController中的viewWillAppear:方法被调用了,但是viewDidLoad:方法没有被调用。
这是做我想做的事情的正确方法吗?为什么不调用viewDidLoad:?
提前致谢
【问题讨论】:
-
为什么不直接将
MKMapView添加到您的视图中?
标签: ios uiview uiviewcontroller mkmapview xib