Xib加载

一,本质

xib本质是XML代码(在编译时Xcodexib中内容转换成代码)

注:如果一个view是从xib中加载出来的,默认widthheightxib中描述的尺寸,frame中(x,y)值默认为零

二、控制器中加载xib

加载方式一:

NSArray *newsArr = [[NSBundle mainBundle] loadNibNamed:@"news" owner:nil options:nil];
UIView *newsView = newsArr.firstObject;

注:
loadNibNamed:owner:options” 方法返回值是一个NSArray,因为一个xib中可以放多个view,但一般情况我们都只放一个在xib

加载方式二:

UINib *nib = [UINib nibWithNibName:@"news" bundle:[NSBundle mainBundle]];//[NSBundle mainBundle]作为参数时,可以传nil,切记[NSBundle mainBundle]调用其他方法时不可以为nil,用nil调用方法等于什么操作都没做
UIView *news = [[nib instantiateWithOwner:nil options:nil] firstObject];

三、使用xib加载view的注意事项

1,如果一个view是从xib加载出来的,那么xib绑定的View初始化过程中,不会执行init方法和initWithFrame方法,因此在页面中如果通过 alloc init 来初始化该view,界面会是空白
2,如果多个页面中用到该view,最好在xib绑定的类中提供快速创建的类方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容