Objective c Cocoa touch-为iPad创建视图模板

Objective c Cocoa touch-为iPad创建视图模板,objective-c,cocoa-touch,ipad,Objective C,Cocoa Touch,Ipad,这是一个很难描述的问题 我刚刚开始制作iPad应用程序。 现在,随着我拥有的房地产数量的增加,我计划拥有不同但相似的“视图”来填充空间。(可能更容易想到一个报纸网站,那里的许多专栏都是相似的) 我想创建一个“视图模板”,这样我就可以在不同的位置重用视图 是否可以在Interface Builder中设计视图模板?(这意味着我在Interface Builder中设计UIView,然后以某种方式只需执行[window addSubview:viewController.viewTemplate1]

这是一个很难描述的问题

我刚刚开始制作iPad应用程序。
现在,随着我拥有的房地产数量的增加,我计划拥有不同但相似的“视图”来填充空间。(可能更容易想到一个报纸网站,那里的许多专栏都是相似的)
我想创建一个“视图模板”,这样我就可以在不同的位置重用视图

是否可以在Interface Builder中设计视图模板?(这意味着我在Interface Builder中设计UIView,然后以某种方式只需执行[window addSubview:viewController.viewTemplate1];多次?
如果是,我将如何在不同的位置加载该视图模板?
如果您知道一个示例代码/教程做了类似的事情,那也可以

谢谢,

Tee

最简单的方法是使用以下内容创建XIB文件: -所需的视图模板。 -UIViewController子类,将充当文件所有者。 -将UIView绑定到UIViewController子类


使用此方法(在苹果的示例中广泛使用),您可以加载任意数量的视图,并将其放置在任何位置。

严格来说,
UIViewController
s,正如Laurent所建议的,仅适用于占据整个屏幕的视图。从:

视图控制器和屏幕之间的一对一对应关系是应用程序设计中一个非常重要的考虑因素。不应使用多个自定义视图控制器来管理同一屏幕的不同部分

这里正确的技术是使用
NSBundle
方法
-loadNibNamed:owner:options:
,该方法实例化NIB的内容并返回顶级对象数组。在这种情况下,对于每个视图,您可以执行以下操作:

NSArray *nibObjects = [[NSBundle mainBundle] loadNibNamed:@"MyViewTemplate" owner:nil options:nil];
UIView *newView = [nibObjects objectAtIndex:0];

[myViews addObject:newView];

// set up the view and add it to your content view and so on