我很困惑"在哪些情况下我们必须使用presentViewController
和UINavigationController
"。
我读了这么多文件,但我还没有找到准确的解释。我们总是可以使用UInavigationController
那么presentViewController
的用途是什么?
感谢。
答案 0 :(得分:2)
UINavigationController
维护正在查看的控制器的堆栈。因此,一旦您通过1-> 2> 3视图控制器,您就可以以3-> 1> 1方式弹出。除非您不更改堆栈,否则此类流将由UINavigationController
维护。现在假设您要显示第4个视图控制器而不会干扰上述流程。然后,您可以使用presentViewController
。
这是使用导航控制器和presentViewController
答案 1 :(得分:0)
您无法将导航控制器推入其他导航控制器。 您可以在其他导航控制器上方显示导航控制器。
如果将视图控制器推入导航控制器,请仅在导航控制器内查看控制器的视图封面区域。 如果您提供视图控制器,则视图控制器的视图将覆盖窗口层次结构(用户无法与应用程序的其他部分进行交互)。
你不能使用UINavigationController来呈现一些UIViewController。你应该关心“关闭”按钮让用户关闭呈现的UIViewController
我已创建测试项目来说明我的回答https://github.com/K-Be/PresentTest