经验之谈—initWithFrame;initWithCoder;awakeFromNib
来源:互联网 发布:郑州网络维修 编辑:程序博客网 时间:2024/05/29 17:27
- 首先说一下,这几个方法在我们自定义控件的时候,会经常调用。但是具体的是什么时候应该调用什么方法,现在我来总结一下这几个方法分别在什么时候调用:
initWithFrame
一般的写法:
- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { //代码 } return self;}
- 这个方法是当控件不是从xib、storyboard中创建时,就会调用这个方法
initWithCoder
一般的写法:
- (id)initWithCoder:(NSCoder *)decoder{ if (self = [super initWithCoder:decoder]) { //代码 } return self;}
当控件是从xib、storyboard中创建时,就会调用这个方法
awakeFromNib
一般的写法:
- (void)awakeFromNib{ //代码}
这个方法在initWithCoder:方法后调用
- 可以这么来理解:一开始经过initWithCoder创建出来的控件是死的,然后通过awakeFromNib来唤醒,所以这会有一个先后的调用顺序。
一般来说,若我们为了安全起见,初始化控件的代码我们写在一个方法里面,然后我们分别在initWithFrame和initWithCoder中都调用一下,这样就保证了无论你是通过什么方式创建的控件,代码 都能起到作用
2 0
- 经验之谈—initWithFrame;initWithCoder;awakeFromNib
- initWithCoder、awakeFromNib、initWithFrame
- initWithFrame;initWithCoder;awakeFromNib
- initwithcoder initwithframe initWithNibName awakeFromNib initWithCoder
- initWithNibName/awakeFromNib/initWithCoder /initwithframe总结
- iOS的initWithFrame、initWithCoder、awakeFromNib
- initWithFrame、initWithCoder、awakeFromNib 和layoutSubviews
- 浅谈initWithNib,initWithNibName,initWithCoder,awakeFromNib ,initWithFrame
- iOS initWithFrame、initWithCoder、awakeFromNib的区别解析
- iOS之initWithFrame/loadWithNibname/initwithCoder/awakeFromNib/initWithNIbName
- iOS initWithFrame、initWithCoder、awakeFromNib的区别解析
- iphone+ios+loadView/viewDidLoad/initWithNibName/awakeFromNib/initWithCoder/initWithFrame
- load,initialize,initWithCoder,awakeFromNib,initWithFrame,layoutSubviews 个人总结
- iOS initWithFrame、initWithCoder、awakeFromNib的区别解析_0
- 初始化方法awakeFromNib,initWithFrame
- initWithCoder与initWithFrame
- initWithFrame: 和 initWithCoder: 区别
- initWithFrame 和 initWithCoder
- intro to Apache Log4j 2
- Dumping a C++ object's memory layout with Clang
- 通过mark和reset方法重复利用InputStream
- POJ1321 棋盘问题 DFS
- 程序员应该知道计算机基本原理
- 经验之谈—initWithFrame;initWithCoder;awakeFromNib
- Eclipse 新建Servlet出错问题
- 好友列表
- 懒加载异常的解决办法
- Linux 常用快捷键
- ResourceManager High Availability
- 神经网络入门
- react 资料链接
- git配置用户名密码