(使用IOS 6,XCode 4.6,ARC,故事板)
我正在尝试创建一个可重用的UIView
(就像C#中的用户控件一样),因为我有两个viewControllers具有相同的数据,一个用于输入,另一个用于显示。
我在这里读到,这样做的方法是为ReusableUIView创建一个单独的xib文件,以及为它创建相应的h + m文件。添加所有控件并将插座链接到它们。
在故事板中我有UIViewController
,在viewDidLoad
我写了以下代码:
NSArray *myNibsArray = [[NSBundle mainBundle] loadNibNamed:@"ReusableUIView" owner:self options:nil];
ReusableUIView *myCustomView = [myNibsArray objectAtIndex:0];
几个问题:
答案 0 :(得分:0)
最好自定义视图加载它的类本身 - 在自定义视图类中添加一些静态方法,如下所示:
'+'(ReusableUIView *)loadView {
ReusableUIView * loadedView = nil;
NSArray * nibs = [[NSBundle mainBundle] loadNibNamed:@“ReusableUIView” 所有者:自我选择:nil];
if([nibs count]> 0){
loadedView = [myNibsArray objectAtIndex:0];
}
return loadedView;
}
由于ReusableUIView继承了UIView,您可以使用frame属性轻松配置其大小和位置,并将其作为父视图的子视图添加。
另外,请注意两件事: