iOS开发 initWithFrame和initWithCoder的区别

本文详细介绍了iOS开发中视图的两种初始化方式:initWithFrame用于手动设置视图大小,而initWithCoder则适用于从XIB文件加载视图。文章强调了无论哪种方式都需要先调用父类的初始化方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

initWithFrame:我们不使用xib的时候,需要对View的frame进行设置,所以需要调用initWithFrame方法进行初始化设置(这里以View为例)

-(instancetype)initWithFrame:(CGRect)frame{ 

    if ([super initWithFrame:frame]) {

        

    }

    return self;

}

initWithCoder:我们使用xib拖控件的时候,需要对view或者view的子类进行初始化设置时,这个时候调用initWithFrame方法设置不起作用,所以就需要用到initWithCoder方法进行初始化了。

-(instancetype)initWithCoder:(NSCoder *)aDecoder{

    self = [super initWithCoder:aDecoder];

    if (self) {

        

    }

    return self;

}

注意:无论是initWithCoder方法还是initWithFrame两个方法必须先调用父类的初始化方法,再进行自定义的初始化操作:

self = super initWithFrame:frame;

self = [super initWithCoder:aDecoder];


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值