我干了一件傻事,在ViewController的subclass中企图使用initWithFrame
2016-10-14 07:37
447 查看
这个标题好像有点长了,但竟然仍能够放得下。
看代码的时候看人家重写了initWithaCoder,不理解为什么要重写它,后来搜到这是因为使用了IB和NIB文件后系统会调用这个接口,而不使用IB和NIB时系统会调用initWithFrame,于是为了检验一下,我就先重写了initWithCoder,加了一句打印,果然在console中打印出来了。接着又想试试initWithFrame,这时就开始犯傻了,直接输入initWithFrame的过程中很纳闷怎么没有自动补全呢,直到完全输入完也没有自动补全,最后甚至出现了error提示。
用这个提示的关键字去搜,才发现问题,原来是initWithFrame不是UIViewController里面的方法,而是UIView里面的。这下就尴尬了。
看代码的时候看人家重写了initWithaCoder,不理解为什么要重写它,后来搜到这是因为使用了IB和NIB文件后系统会调用这个接口,而不使用IB和NIB时系统会调用initWithFrame,于是为了检验一下,我就先重写了initWithCoder,加了一句打印,果然在console中打印出来了。接着又想试试initWithFrame,这时就开始犯傻了,直接输入initWithFrame的过程中很纳闷怎么没有自动补全呢,直到完全输入完也没有自动补全,最后甚至出现了error提示。
用这个提示的关键字去搜,才发现问题,原来是initWithFrame不是UIViewController里面的方法,而是UIView里面的。这下就尴尬了。
相关文章推荐
- iOS -- 解决iOS11中navigationBar上使用initWithCustomView按钮图片错位 frame无效
- 解决iOS11中navigationBar上使用initWithCustomView按钮图片错位 frame无效
- initWithFrame 方法的理解与使用
- initWithFrame方法的使用
- 使用initWithFrame生成的UIView,backgroundColor默认的opaque是0
- initWithFrame和initWithCoder使用技巧,以及他们什么时候被调用,自定义控件必须具备三个方法initWithFrame和initWithCoder以及drawRect
- iOS init/ initWithFrame/ initWithCoder/ awakeFromNib 区别
- initWithFrame方法的理解
- initWithNibName/awakeFromNib/initWithCoder /initwithframe总结
- ios 关于 initWithFrame 方法
- initWithCoder: 与initWithFrame:的区别
- 高德地图报错:BaseMapView initWithFrame exception
- initWithNib init initWithCoder initWithFrame
- initWithCoder: 与initWithFrame:的区别
- initWithCoder与initWithFrame的区别
- 使用universalimageloader框架,出现ImageLoader must be init with configuration before using
- initWithNibName,initWithCoder,initWithFrame
- init、initWithCoder、initWithFrame、initWithNib
- initWithFrame、initWithCoder、awakeFromNib 和layoutSubviews
- initWithFrame方法的理解(转)