有些情况下,我们发现有一些界面上的控件是可以复用的
如果每次都拷贝这些控件过去,就是比较麻烦。所以,就用一个xib文件,创建一个view,把要复用的控件,放在里面组成一个view,然后在其他的ViewController里面引用就行了。
这样会方便很多。
第一步:创建一个SingleViewApplication,命名为“xib作为子控件复用”,在项目里New File,选择Cocoa Touch Class,命名为"AAView",点击Next,如图1所示:
图 1
第二步:创建一个View,在项目里面New File,选择View,点击Next,如图2所示。命名为”AAView“,点击Create,如图3所示:
图 2
图 3
第三步:选中AAView.xib,点击View,更改Custom Class为“AAView”(即刚才所创建的AAView.h和AAView.m文件),如图4所示。如果要修改View的大小,可以设置属性Size为 “Freeform”。
?图 4
第四步: 在View里面添加4个Label,修改Text,如图5所示。为"小王"和"21"两个Label添加Outlets,按住Control拖到AAView.h文件,分别命名,如图6所示:
图 5
图 6
第五步:现在就是如何把这个View作为子控件加载到其他界面了,打开ViewController.m文件,把AAView.h” import进来,然后在ViewDidLoad里面写入以下代码:
1 AAView *aaView = [[[NSBundle mainBundle] loadNibNamed:@"AAView" owner:self options:nil] lastObject]; 2 3 aaView.lbName.text = @"小明"; 4 5 aaView.lbAge.text = @"25"; 6 7 [self.view addSubview:aaView];
运行程序,结果如图7所示:
图 7
至此,可以看见姓名和年龄都改变了,成功完成把xib文件作为一个子控件使用。如果你觉得位置不满意,可以更改创建的View的Frame属性,改变大小和位置。
有时候你有很多复杂的控件组成一个复杂的组件,然后进行复用,这就是一个很好的办法。