获得最顶级的UIViewController
如果我在UINavigationController
上推视图控制器和/或呈现模态视图控制器,我怎样才能找出最顶层的UIViewController
? 或者在我的情况下,我想知道如果某个UITableViewController
是最重要的或不是。
我试过使用:
self.navigationController.topViewController == self
…但这不起作用。 我猜这是失败的,因为我在它上面展示了模态视图控制器,并且topViewController
只跟踪哪些视图被推送到UINavigationController
(而不是模态显示的那些视图)。
你想要visibleViewController
:
当前可见视图可以属于导航堆栈顶部的视图控制器,也可以属于以模态方式呈现的视图控制器。
NSArray *viewContrlls=[[self navigationController] viewControllers]; [viewContrlls lastObject];