我很难通过设计权衡来改变应用程序的根视图控制器,而不是模态地呈现新的视图控制器。
在哪些情况下我应该更改根目录以及在哪些情况下我应该提供模态?我正在寻找一般的应用程序设计指南。我应该总是提出模态并且只建立一次rootViewController(在appDelegate中)吗?
答案 0 :(得分:4)
呈现模态视图控制器的一个关键方面是当您关闭模态视图控制器时,将返回到呈现它的视图。
更改视图(假设您的意思是交换视图)并不一定意味着返回到该视图所替换的模式。它只是取代了它。
答案 1 :(得分:2)
设置根视图控制器并使用模态控制器,导航控制器,标签栏控制器等,它通常被认为是一种更好的做法,然后只需在默认窗口上相互添加新视图及其控制器。
这是因为控制器之间的流程是以分层的,有组织的,“堆叠”的方式完成的。只需在默认窗口中将一个视图控制器的视图添加到另一个视图控制器的视图,就可以真正制动应用程序的正确“流程”。
简而言之,使用模态控制器或从导航控制器或标签栏等开始几乎总是更好的方法。
答案 2 :(得分:2)
通常,您使用模态视图控制器将用户的注意力集中在任务上。当您推送时,用户处于某种导航流程中,但仍然可以轻松获得总应用程序。他们可能决定前进或后退,切换到中间的不同选项卡,无论如何。当他们得到一个模态视图控制器时,他们不能做任何事情,直到任务完成或取消(模态视图被解除)。
结帐 - why does this code use presentModalViewController? (not pushViewController)也
答案 3 :(得分:0)
这取决于您的应用。如果你正在制作基于导航的应用程序,那么提出模态是一个好主意。主要的是模态只是替换根,而不是。因此,在基于导航的应用程序中,当前模态对于导航视图的根非常有用。