xcode xib 加载 、注意点

时间:2023-03-08 16:33:42
xcode xib 加载 、注意点

加载xib2中方式

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"xib名称" owner:nil options:nil];

UINib *nib = [UINib nibWithNibName:@"xib名称" bundle:nil]; // nil 默认是mainBundle

NSArray *array = [nib instantiteWithOwer:nil object:nil];

xib的使用注意点

如果是通过代码创建的控件,初始化时一定会调用initWithFrame

如果是通过xib或者storyboard创建控件,初始化时是不会调用initWithFrame,会调用initWithCoder

如果是通过xib或者storyboard创建控件,初始化完毕后会调用awakeFromNib方法

建议在awakeFromNib中做初始化

layoutSubviews设置子控件的frame 这个也能做初始化

在layoutSubviews方法中设置子控件的frame(layoutSubviews一定要调用[super layoutSubviews] )