xib文件中加载另一个xib文件
2016-02-21 本文已影响425人
_健健
iOS Interface Builder:在.xib文件中加载另一个.xib文件
在开发中,经常会用到一个需要重复使用的模块,比如好友列表中每个用户的展示或每条动态,这些都是相同的模版,这样我们就可以把这个部分提取出来放到一个单独的.xib中。那么提取出的.xib如何在其他.xib中使用呢?
接下来就说一下如何在.xib中加载其他的.xib。大概结构是这样的:
![](https://img.haomeiwen.com/i668470/3404fc69c0cae02f.png)
创建项目,项目名称叫CompositeXib
![](https://img.haomeiwen.com/i668470/5f72150a8be9e5be.png)
创建MainView和ChildView,ChildView将作为子View包含到MainView中。
![](https://img.haomeiwen.com/i668470/1b1bfea1907b129e.png)
创建完成后是这样的:
![](https://img.haomeiwen.com/i668470/02b3d90b3cda6409.png)
设置ChildView的Size可以自定义,去掉状态栏:
![](https://img.haomeiwen.com/i668470/efe0b3e283d322b9.png)
设置大小:
![](https://img.haomeiwen.com/i668470/cf6b6fbfefc48084.png)
添加控件:一个ImageView,一个Label和一个Button,添加完成后你的View应该是这样的:
![](https://img.haomeiwen.com/i668470/5fca58efa624a481.png)
添加ChildView.xib对应的Cocoa Class文件:
![](https://img.haomeiwen.com/i668470/dab2bd5fe7d81d5f.png)
.m 添加setup方法:
![](https://img.haomeiwen.com/i668470/1488e268fd17fbcc.png)
.h 添加view属性:
![](https://img.haomeiwen.com/i668470/32397391b3550ab3.png)
连接此Cocoa Class和ChildView.xib:
![](https://img.haomeiwen.com/i668470/576d7d3bc1bad81e.png)
这样,一个子view已经准备好了。
在主.xib添加一个view控件并设置它的Class为上边准备好的ChildView:
![](https://img.haomeiwen.com/i668470/2dce90f7f72da07f.png)
运行:
![](https://img.haomeiwen.com/i668470/d8aa9ab92d498f96.png)
备注:将MainView.xib添加到storyboard的方法和将ChildView.xib添加到MainView.xib的方法类似,只需设置storyboard中目标View的Custom Class属性为MainView即可。