Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 基于视图的应用程序?-请解释一下_Iphone_Objective C_Xcode_Applet - Fatal编程技术网

Iphone 基于视图的应用程序?-请解释一下

Iphone 基于视图的应用程序?-请解释一下,iphone,objective-c,xcode,applet,Iphone,Objective C,Xcode,Applet,XCode:“该模板为使用单个视图的应用程序提供了一个起点。它提供了一个视图控制器来管理该视图,以及一个包含该视图的nib文件。” 这到底是什么意思?(即单一视图实际上意味着什么) 1) 这意味着您的应用程序将只有一个处于活动状态的视图屏幕 2) 这意味着您的应用程序将能够使用单个视图控制器拥有任意多的屏幕 好了,如果应用程序有多个屏幕怎么办?没有一个单一的视图屏幕,是否仍然适合在基于视图的应用程序模板下使用 示例 屏幕1(主):此屏幕上有3个按钮,“打开表单1”、“打开表单2”、“打开表单3”

XCode:“该模板为使用单个视图的应用程序提供了一个起点。它提供了一个视图控制器来管理该视图,以及一个包含该视图的nib文件。”

这到底是什么意思?(即单一视图实际上意味着什么)

1) 这意味着您的应用程序将只有一个处于活动状态的视图屏幕

2) 这意味着您的应用程序将能够使用单个视图控制器拥有任意多的屏幕

好了,如果应用程序有多个屏幕怎么办?没有一个单一的视图屏幕,是否仍然适合在基于视图的应用程序模板下使用

示例

屏幕1(主):此屏幕上有3个按钮,“打开表单1”、“打开表单2”、“打开表单3”

单击按钮时,会打开相关屏幕

按“打开表格1”按钮打开“表格1”屏幕2

按“打开表格2”按钮打开“表格2”屏幕3

按“打开表格3”按钮打开“表格3”屏幕4

当用户填写并提交表单时,将显示感谢屏幕 因此,在本例中,总共有5个屏幕


每个表单屏幕包含不同的文本、文本字段输入和信息,是否将其视为基于视图的应用程序

基于视图的应用程序只是一个模板,表示您的应用程序将基于视图。这意味着您可以拥有任意数量的视图,因为此模板附带一个视图控制器(顾名思义,该控制器可用于控制视图…例如,通过动画显示/隐藏视图)

模板以添加到应用程序视图控制器的一个视图开始。可以向该控制器添加任意数量的视图


所以,你的问题是肯定的。您可以使用它来创建您提到的应用程序,例如,您提到的任何“屏幕”都将是一个视图,并且您可以使用应用程序视图控制器来显示每个屏幕,以动画显示或隐藏每个视图。

这意味着模板将创建一个视图和相应的视图控制器以及应用程序委托,主窗口。这也将做一些必要的事情,将此视图添加到主窗口,并在应用程序运行时加载。这只是一个模板。然后,您可以根据需要装箱任意数量的视图和视图控制器

这意味着您启动项目时使用的模板为视图提供了单个ViewController和关联的XIB。正如第一个答案所说,您可以使用此模板来构建上述应用程序

但是,您可能希望考虑用户将如何与您的应用程序交互。您是否允许在屏幕上来回移动,在这种情况下,您可能需要考虑基于导航的应用程序,在该应用程序中,您推/弹出屏幕到堆栈上,以便在那时之间轻松地移动。p> 您可能还有一个概念,即允许用户在每个屏幕页面之间随意跳转,在这种情况下,您可能希望实现一个TabBar应用程序

或者你可以自己去实现。归根结底,这将是您的应用程序设计,而模板只是让您开始工作的起点。我建议,如果您刚开始使用iOS开发,那么为您希望实现的每个屏幕配备1个ViewController和一个XIB,以保持简单



是否需要为每个屏幕创建新控制器?(我假设我可以使用一个控制器来控制多个屏幕,是吗?否?)是的,您可以这样做,但不建议这样做,除非视图非常原始。如果屏幕相关怎么办?屏幕1(输入信息)、屏幕2(查看并确认信息)、屏幕3(感谢回复)。在这种情况下,应该有3个控制器,或者只有1个控制器?在这个特定的示例中,我更喜欢一个控制器,因为它们密切相关并且不是很复杂。但假设有主菜单、单独的表单、条款和条件屏幕以及详细描述视图。对于这些,我将使用单独的控制器。其他人可以选择其他方式。这些决定在很大程度上取决于各种因素,如项目的规模、可扩展性等。好的,基于视图的应用程序和基于windows的应用程序有什么区别?我阅读了说明,但我仍然不清楚其中的区别。例如,window base应用程序模板不会附带视图控制器。这些只是模板。您可以使用任何模板创建任何类型的应用程序。选择一个不会阻止应用程序执行某些操作。在某些情况下,可能需要选择基于窗口的应用程序,例如,您的应用程序上只有一个视图(在这种情况下,您不需要视图控制器)。此外,当您创建多个屏幕时,每个屏幕是否需要为您创建的每个屏幕使用一个视图控制器?或者可以使用viewcontroller控制多个屏幕。