iOS Dev (43) 用loadView必须要注意的几点
- 作者:大锐哥
- 博客:http://prevention.iteye.com
永远不要主动调用 loadView 方法
ViewController 会在 view 的属性被请求且当前 view 为 nil 时调用 loadView。
如果你是用 xib 创建 view 并初始化 ViewController,意味着你要使用 initWithNibName:bundle: 方法,则不要覆盖 loadView 方法。
如果你是手动创建 view,就要覆盖该方法。
永远不要在覆盖 loadView 方法时使用 [super loadView]
loadView 方法是查看你有木有 xib,有的话就用 xib 加载基本信息,木有的话就会创建一个空白的 UIView,然后把它作为这个 ViewController 的 view。
所以你覆盖这个函数的时候,也按照这个方式是实现就好了。只不过你不是创建一个空白的 UIView,那也没有意义。你创建一个你想要的 UIView,一定要注意这个 UIView 实例必须是给这个 ViewController 独享的(不能被其他实例共享),否则会出问题的。
在 loadView 中实例化 view,在 viewDidLoad 中自定义 view
你只需要在 loadView 时创建 view,不要对它做什么自定义的。
在内存紧张时,程序会调用 viewDidUnload 来释放内存,这个方法是与 viewDidLoad 相对的。当程序内存不那么紧张,且需要用到这个 ViewController 时,则会再次调用 viewDidLoad。
viewDidLoad 和 viewDidUnload 中的操作是相对的。
什么时候执行的 loadView 和 viewDidLoad
一般在初学时,不会用到太复杂的,会发现是在这个 ViewController 被设置为 visible 时执行的这两个方法。再进一步的解释,以后再介绍。
Reference
http://my.oschina.net/amoyai/blog/90261
转载请注明来自大锐哥的博客:http://prevention.iteye.com
相关推荐
当你访问一个ViewController的view属性时,如果此时view的值是nil,那么,ViewController就会自动调用loadView这个方法。这个方法就会加载或者创建一个view对象,赋值给view属性。 loadView默认做的事情是:如果此...
主要介绍了IOS 中loadView,viewDidLoad,viewDidUnload详解及使用的相关资料,需要的朋友可以参考下
loadView和viewDidLoad、viewDidUnLoad区别
let loadView = LWTGifLoadView(frame:self.view.frame, callback:{ //网络请求 print("重新请求") }) self.view.addSubview(loadView) ``` github下载:https://github.com/winterLiao/GifLoadView
revit二次开发在wpf中显示模型,利用Autodesk 提供的PreviewControl 方法,在wpf界面中显示项目中的某个视图
我们加载Listview等,往往需要耗时几秒,这和等待过程加上一些交互效果自然会让人感觉输入一些,常见的转圈圈自不必说,但是按照通常的想法,我们往往是加xml里面的view通过隐藏和现实来实现,这种方式实在不太方便...
TKLoadView 自定义LoadView API与APPLE的UIActivityIndicatorView相同,并且我已经提供了协议。
1.基于swift4.2框架组件化 2.rxswift做网络回调处理、mock数据管理 ...5.带EmptyView LoadView ErrorView的BaseViewController 6.带EmptyView LoadView ErrorView的TableView和CollectionView ...
学长发我的,我无耻的分享给大家了。 希望大家对于那些 viewdidload viewwillappear 的调用顺序有个了解。
本文实例介绍了iOS实现左右拖动抽屉效果,具体内容如下 利用了触摸事件滑动 touchesMoved: 来触发左右视图的出现和消失 利用loadView方法中添加view 在self.view载入前就把 左右中View都设置好frame 每一个方法都由...
EK视频控制器轻量级视图控制器,为用 Objective-C 编写的 IOS 添加视频作为全屏背景。示范特征您可以将视频设置为视图控制器的全屏背景。 您可以设置重复模式。 您可以为视频添加蒙版。 您可以控制视频的速度。 您...
Rickey 的笔记 ...重写 loadView() 方法使 Swift 视图代码更加简洁 iOS 中的图像优化 校招面经 携程 阿里 京东 腾讯 小红书 有趣的问题 小白鼠试毒 白帽子问题 海盗博弈问题 圆桌射击游戏 - 约瑟夫环
首先我们继续编辑 JXHypnosisViewController.m 修改 loadView 方法,向 view 中添加一个 UITextField 对象: #import JXHypnosisViewController.h #import JXHypnosisView.h @interface ...
每个ios开发者对loadView和viewDidLoad肯定都很熟悉,虽然这两个函数使用上真的是非常简单,但是和类似的initWithNibName/awakeFromNib/initWithCoder放在一起还是非常容易让人混淆的. 昨天看了下苹果官方的相关文档...
主要用的一些属性: *可以在指定的视图中用 也可以直接在AppDelegate中改 *在视图中修改的话就在loadView中 *在AppDelegate中: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:...
_loadview = [[MBLoadingIndicator alloc ] init ]; // Start the loader [ self .loadview start ]; // Add the loader to our view [ self .view addSubview: self .loadview]; 用法 ###更改百分比 // ...
LoadMoreHelper ...可以实现接口来完全自定义您想要的布局。 理论上支持添加任意下拉刷新库的关联,关联后可以解决refresh和load状态的一些处理和冲突等。 默认实现了一套完整的功能,包含SwipeRefre
但千万记住好像 你用了@id 这后并不会创建这个字段的数据库字段,当你用@ Property 时 ,这时候要在@id的下面加@Property。这是我尝试了许久的。4.SurfaceView 并不适合作为loadview,这句话并不肯定,因为我没有...