看程序每次创建UIView的子类后里面的初始化方法有的用init,有的用initWithFrame

不清楚什么时候用哪个方法来初始化(init方法和initWithFrame方法)求大神指点... 不清楚什么时候用哪个方法来初始化(init方法和initWithFrame方法)求大神指点 展开
 我来答
匿名用户
2015-03-26
展开全部
使用 Interface Builder 方式。
这种方式,就是使用nib文件。通常我们说的“拖控件” 的方式。
实际编程中,我们如果用Interface Builder 方式创建了UIView对象。(也就是,用拖控件的方式)
那么,initWithFrame方法方法是不会被调用的。因为nib文件已经知道如何初始化该View。(因为,我们在拖该view的时候,就定义好了长、宽、背景等属性)。
这时候,会调用initWithCoder方法,我们可以用initWithCoder方法来重新定义我们在nib中已经设置的各项属性。
追问
不是还有这个方法吗?
-(id)init
{
if(self = [super init]){

……

}

return self;

}
就是这个方法跟initWithFrame老是搞不懂?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式