您的位置:首页 > 移动开发 > IOS开发

IOS开发学习之自定义XIB的使用

2016-03-02 14:19 274 查看
刚学习IOS开发时的图书是推荐使用StoryBoard进行界面布局的,但是自己摸索一段时间发现XIB用起来更方便,尤其是自定义界面的时候,Storyboard更适合一个人完成小东西,可以自己很清晰和方便的实现界面之间的跳转关系,XIB更适合小部分界面的自定义,比如tableviewCell等等。

昨天同学出了个xib的错误问我,错误如下:



然后我在检查后发现了2个错误,第一她在自己自定义一个scrollview的时候,没有进行关联,就是将新的view与fileowener相关联,就是图中class,操作如下:



但是依然有错误,原来是她自己又将控件与filesOwener相连了,而在把控件拖动到.h和.m文件时,xcode就自动将控件与filesowener相关联,不必要自己再去连线。


File's Owner的作用
   
View和ViewController之间的对应关系,需要一个桥梁来进行连接的(对于一个视图,他如何知道自己的界面的操作应该由谁来响应),这个桥梁就是File's Owner。
     选中某个XIB的File's Owner,在Inspector中可以看到属性:File Name和Custom Class,该File's Owner就是用来绑定File Name中的xib文件和Custom Class中的ViewController的,在做了这个绑定之后,按住control键,拖动File's
Owner到xib中的某个控件的时候,就是Custom Class中定义的IBOutlet元素与xib中元素进行连接的过程,同样,拖动"xib中的控件的动作"到File's Owner的时候,就是将xib中该动作的响应与Custom Class中某个IBAction进行连接的过程。
     因此,在存在多个xib文件的情况下,即:有多个View,那么每个View可以采用不同的ViewController,也可以全部采用相同的一个ViewController,通过File's Owner进行关联即可。
     其实,File's Owner就是Custom Class类型的对象,而xib中的其他元素都是该对象的成员变量,但是需要手动来关联Custom Class中的成员变量与xib中对象之间的关系。
自定义XIB的使用
我们在自定义xib之后,使用时,有2种方法,一种是,如果是cell类的xib,可以用[self.mytable registerNib:[UINib nibWithNibName:@"firstCell" bundle:nil] forCellReuseIdentifier:CellIdentifier];
还有一种是
UINib *nib=[UINib nibWithNibName:@"TFPopOtherCell" bundle:nil];
NSArray *arr=[nib instantiateWithOwner:self options:nil];

这种方法可以获取到TFPopOtherCell下所有的视图,并存入一个arr这个数组中,这种方式有利于多个简单视图自定义使用,只需要一个xib即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios