2011-06-29 67 views
3

我正在研究一个新的应用程序,当点击主视图中的按钮时,该应用程序将保留一个导致另一个视图的“主视图”。 我不确定选择哪个模板作为起点:基于窗口的应用程序或基于视图的应用程序。基于窗口的应用程序和基于视图的应用程序有什么区别?

有人可以解释他们之间的差异? 在两者之间进行选择时我应该考虑什么?

+0

这是一个重复的问题http://stackoverflow.com/questions/3368774/cocoa-touch-which-to-use-window-template-or-view-template – Andrew

+0

安德鲁,感谢您的参考,但我如果有人愿意,当然......),因为在原始问题/答案中,不清楚在哪些情况下应该选择两种不同模板中的哪一种。 –

回答

5

就你而言,我会使用基于视图的应用程序。窗口和视图的区别在于窗口模板不会创建视图控制器类和相关的用户界面文件(.xib)。它只是给你一个空白的窗口。在iOS中,只能有1个窗口,但可以在该窗口上显示多个视图。

基于视图的模板可以完成基于窗口的模板所做的一切,它会创建一个视图控制器类和该类的xib文件。另外,它将第一个视图控制器添加到您的窗口中。在iOS中,当你想显示另一个视图时,几乎可以肯定需要另一个视图控制器类。视图控制器类可以轻松地在其上添加其他视图。

由于Window模板为您提供了0开始,并且View模板为您提供了1开始,并且您最终需要2个用于您的两个视图,对于您开始使用View模板。

+0

感谢安德鲁,虽然我们在它 - 你能告诉为什么当创建一个基于视图的应用程序时,在设备系列字段中没有“通用”选项,而在创建基于窗口的应用程序时,有一个选项? –

+0

这只是模板的设置方式。您仍然可以通过选择项目(Xcode中的左上角)选择目标,然后在摘要选项卡中将设备设置为“Universal”,将基于视图的模板转换为通用应用程序。它会问你是否要添加一个新的XiB文件。只需回答是,现在您可以从基于视图的模板获得通用应用。 – Andrew

+0

好吧,我这样做了,但它添加了“mainWindow-iPad.xib”文件。我在“ViewController.xib”上设计了UI(并且应用程序不需要添加任何代码即可进入);我不知道如何将应用程序指向iPad.xib。我应该将它指向“mainWindow-iPad.xib”文件,还是应该创建一个“ViewController-iPad.xib”并以某种方式指导代码(UI_USER_INTERFACE_IDIOM()== UIUserInterfaceIdiomPad)? –

相关问题