Cocoa touch - 为iPad创建视图模板

时间:2010-04-20 22:06:21

标签: objective-c cocoa-touch ipad

这是一个难以描述的问题。

我刚开始制作iPad应用程序 现在,随着我拥有的房地产数量,我计划有不同但相似的“观点”来填充空间。 (可能更容易想到报纸网站,其中许多栏目相似)
我想创建一个“视图模板”,以便我可以在不同的位置重用该视图。

是否可以在Interface Builder中设计视图模板? (意思是我在Interface Builder中设计了UIView,然后我可以做多次[window addSubview:viewController.viewTemplate1];多次? 如果是这样,我如何在不同的地方加载该视图模板? 如果您知道类似的示例代码/教程,那也可以。

谢谢,
三通

2 个答案:

答案 0 :(得分:1)

严格地说,正如Laurent所建议的那样,UIViewController仅适用于占据整个屏幕的视图。来自View Controller Programming Guide

  

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

这里正确的技术是使用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

答案 1 :(得分:0)

最简单的方法是使用以下命令创建XIB文件: - 您想要的视图模板。 - 一个UIViewController子类,它将充当文件所有者。 - 将UIView绑定到UIViewController子类。

使用此方法(在Apple的示例中广泛使用),您可以加载所需的视图,并将它们放在任何您想要的位置。