initWithFrame和initWithCoder的区别

我怕爱的太早我们不能终老 提交于 2020-01-15 04:11:49

如果使用了Interface Builder 方式或nib,就不会调用initWithFrame方法,因为nib文件知道怎么初始化了,

但可以使用initWithCoder这一个更深层的init方法来重新定义nib文件的各种属性

 

- (id)initWithCoder:(NSCoder*)coder

- (id)initWithFrame:(CGRect)frame

 

initWithFrame方法用来初始化并返回一个新的视图对象,根据指定的CGRect(尺寸)。

UIView *contentView = [[UIView alloc] initWithFrame:Back_Button_Frame];

#define Back_Button_Frame CGRectMake(-20, 0, 50, 35)

如果使用了编程方式,手动代码定义UIView类或其子类等,

如果在子类中加载initWithFrame方法,必须先调用父类的initWithFrame方法。

就用initWithFrame

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!