首页 > 代码库 > initWithFrame 和 initWithCoder

initWithFrame 和 initWithCoder

当我们所写的程序里没用用Nib文件(XIB)时,用代码控制视图内容,需要调用initWithFrame去初始化

- (id)initWithFrame:(CGRect)frame

{

    if (self =[superinitWithFrame:frame]) {

        // 初始化代码

    }

    return self;

}

 

用于视图加载nib文件,从nib中加载对象实例时,使用 initWithCoder初始化这些实例对象

 

- (id)initWithCoder:(NSCoder*)coder

{

    if (self =[superinitWithcoder:coder]) {

        // 初始化代码

    }

    return self;

}

 

注意点:

1、初始化方法实现中,须先调用父类的该方法

2、代码创建视图的是【initWithFrame】,使用xib 和storyboard创建出来调用的是【initWithCoder】

3、代码创建视图,如果调用的是init方法,那么init方法内部一定有调用【initWithFrame】

4、重写view,自定义view,上面两个方法都要重写;

 

initWithFrame 和 initWithCoder