UINavigationController
有3个控制器听起来与我非常相似:topViewController
,visibleViewController
和presentedViewController
。
您在哪些场景中使用这些控制器?
答案 0 :(得分:8)
presentedViewController
是屏幕上显示的当前模式。
topViewController
是导航堆栈顶部的视图控制器(请参阅viewControllers()
方法),visibleViewController
是屏幕上当前显示的视图控制器(可以是控制器,模态,{{1} 1}},UINavigationController
等等。
答案 1 :(得分:2)
TopViewController是导航堆栈中最顶层的VC。或者最后推送的View控制器。
PresentedViewController是从navigationController以模态方式呈现的viewController。它不是NaivagationController的水平堆栈的一部分,但是它上面有一个viewController。
在这两个viewControllers中,用户可见的那个将是navigationController的visibleViewController。