对loadView的方法还存有疑问,于是找到以下这篇文章
mark一下,希望对loadView方法的理解有进一步的帮助
UIViewController类或其子类会在初始化时创建一个UIView对象,会作为控制器的默认视图显示出来,可以通过self.view寻址访 问。但没有调用loadView方法时,self.view=nil。默认loadView方法(即[super loadView])的作用是产生一个空白的view。
我们有两种方法把textView加入到self.view中,
[self.view addSubView textView];
self.view=textView;
前者把textView作为子视图加载到了self.View上 而后者则让self.view直接指向了 textView。把textView加入到self.view中则self.view不能为nil,因此需要调用[super loadView]方法,后者不需要。
显然,继承UIViewController的subclass要实现其load方法时,若采用添加view的方式,我们只要在loadView中增加一句[super loadView]就没有问题了。但这并不是Cocoa的设计者所期望的。self.view = …才是提倡的方式。
需要主意的是,loadView的实现需要分两种情况:当你通过Xcode实例化一个类的时候就需要自己在controller中实现这个方法,而在IB中实例化就不需要实现它。
时间: 2024-10-27 13:30:36