iOS Interface Builder:在.xib文件中加载另一个.xib文件

在开发中,经常会用到一个需要重复使用的模块,比如好友列表中每个用户的展示或每条动态,这些都是相同的模版,这样我们就可以把这个部分提取出来放到一个单独的.xib中。那么提取出的.xib如何在其他.xib中使用呢?

接下来就说一下如何在.xib中加载其他的.xib。大概结构是这样的:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

创建项目,项目名称叫CompositeXib

iOS Interface Builder:在.xib文件中加载另一个.xib文件

创建MainView和ChildView,ChildView将作为子View包含到MainView中。

iOS Interface Builder:在.xib文件中加载另一个.xib文件

创建完成后是这样的:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

设置ChildView的Size可以自定义,去掉状态栏:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

设置大小:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

添加控件:一个ImageView,一个Label和一个Button,添加完成后你的View应该是这样的:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

添加ChildView.xib对应的Cocoa Class文件:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

.m 添加setup方法:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

.h 添加view属性:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

连接此Cocoa Class和ChildView.xib:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

这样,一个子view已经准备好了。

在主.xib添加一个view控件并设置它的Class为上边准备好的ChildView:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

运行:

iOS Interface Builder:在.xib文件中加载另一个.xib文件

备注:将MainView.xib添加到storyboard的方法和将ChildView.xib添加到MainView.xib的方法类似,只需设置storyboard中目标View的Custom Class属性为MainView即可。

上一篇:结合 category 工作原理分析 OC2.0 中的 runtime


下一篇:解决方案:带格式化文本控件( RichText)的模板如果在InfoPath的浏览器中加载可能出现 COM 组件的80040154错误