xib和storyboard都可以建立应用程序的视图。他们的主要区别在于,xib用于创建应用程序的局部视图,storyboard用于创建应用程序的整体视图。
xib是storyboard的前身。
xib文件的加载,可以通过Bundle完成。
例如:NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"AppInfoView" owner:nil options:nil];
该语句会将名为AppInfoView的xib文件中定义的所有的第一级控件,按照xib文件中控件添加的顺序,全部加载,并返回一个控件数组。
例如 AppInfoView文件的结构如图
则返回的控件数组中包含的元素有View、Round Style Text Field、Button - Button。即第一级的控件。
在引用xib中的控件时,可以根据控件的tag属性,例如取出第一个元素View
UIView *appView = [appinfonib firstObject];
View中有3个控件,如果想使用View中的Label控件, 则首先将Label的tag属性设置一个值,例如3.
则可以通过下面的语句,引用Label控件。
UILabel *appname = (UILabel *)[appView viewWithTag:2];