storyboard和xib的区别以及如何加载xib文件

来源:互联网 发布:python 1分钟执行一次 编辑:程序博客网 时间:2024/05/18 02:53

storyboard : 主要适用于描述整个软件的所有界面

xib : 主要适用于描述软件某一个局部界面


怎么样利用代码加载xib文件?

// 1.加载customView.xib文件,创建Objects下面的所有控件,并且返回一个数组,(注意是@"customView",不需要写上.xib,因为loadNibNamed方法就是加载xib文件)

    NSArray *views = [[NSBundlemainBundle] loadNibNamed:@"customView"owner:niloptions:nil];


// 注意:如果想让xib文件的控件可以在ViewController中拖线从而拥有属性和方法,必须首先将xib的file's owner的属性class改成ViewController,其次要将上面的代码中owner传一个self参数,即owner:self;

// 注意:owner可以是控制器,也可以是某一对象,相对应的xib文件的file's owner的属性class也要改成相对应的类.

// 2.取出index为0的元素,(注意:通常情况下xib文件只有一个元素)就是customView

    UIView *rowView = views[0];


但是使用file's owner的属性的代码耦合性太强,最好不要用,也不需要owner参数.因此可以将自定义的view新建一个继承UIView的类,从而达到封装view.



0 0
原创粉丝点击