在七巧板的current demo app中,以下方法是在MapViewController.m中定义的。
- (void)viewDidLoad
{
[super viewDidLoad];
TGMapView *mapView = (TGMapView *)self.view;
mapView.mapViewDelegate = self;
mapView.gestureDelegate = self;
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
}
发生在超级事件之后的第一件事是将self.view转换为TGMapView类型。可能有相关答案的两个问题:
通常,self.view在哪里分配值?
使用哪种初始化方法创建视图或自定义视图?
经过进一步研究,我在苹果文档上发现了this。似乎暗示自定义UIView必须具有这些init。我不清楚为什么需要两个不同的init,但是我可以假设Apple使用一个或两个来初始化视图。
答案 0 :(得分:2)
有几种方法可以为视图控制器指定视图(UIViewController documentation的“视图管理”部分中有更多详细信息):
您链接到的演示应用程序使用情节提要板创建视图的UI和自定义类,并在Main_iPhone.storyboard(和Main_iPad.storyboard)中指定。