26

基本上我想知道我所在的视图控制器是否是根视图控制器。

如果不是,我想在导航栏中放置一个显示“返回”的按钮(就好像它是一个正确的返回按钮 - 这一点我知道该怎么做)。

在你问之前,我已经从我的视图控制器中删除了所有标题 - 我不希望它们出现在我的导航栏上......它非常复杂 - 但这意味着当我浏览我的导航堆栈时,没有任何推送视图控制器有一个后退按钮。:/

谢谢汤姆

4

3 回答 3

77
if ( self != [self.navigationController.viewControllers objectAtIndex:0] )
{
   // Put Back button in navigation bar
}
于 2010-10-28T15:51:01.093 回答
15

你也可以试试:

if (self.navigationController.viewControllers.count == 1) {
    NSLog(@"self is RootViewController");
}
于 2015-08-26T03:53:32.180 回答
0

这是一个快速版本:

// Only works if checking from within the NavigationController:
navigationController?.viewControllers.first == self

// Works if you only have a reference to the NavigationController:
navigationController?.topViewController == navigationController?.viewControllers.first
于 2022-01-25T00:51:27.850 回答