【问题标题】:My navigationbar doesn't show a back button if the previous view controller has no title如果前一个视图控制器没有标题,我的导航栏不会显示后退按钮
【发布时间】:2011-08-11 15:48:14
【问题描述】:

如何让它显示返回按钮,标题为“返回”?如果前一个视图控制器有标题,它会显示得很好。

【问题讨论】:

    标签: iphone objective-c title


    【解决方案1】:

    最简单的解决方案是在即将推送新视图的viewDidLoad中,执行以下操作:

    UIBarButtonItem *backBarButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil];
    self.navigationItem.backBarButtonItem = backBarButton;
    [backBarButton release]
    

    完美运行,不问任何问题。

    【讨论】:

      【解决方案2】:

      可以设置前一个viewController的backBarButtonItem属性。因此,如果您有一个视图控制器“A”并且您推送了一个视图控制器“B”。后退按钮将是“A”视图控制器上的按钮 backBarButtonItem。

      【讨论】:

      • 我刚试过这个,但self.navigationItem.backBarButtonItem.title = @"Back"; 什么也没做。
      • 但是尝试更正式的方法 setTitle: 在 backBarButtonItem 上。它应该可以工作。
      • 这也没有任何改变。
      • 您可能必须指定一个新的按钮实例。我会检查 self.navigationItem.backBarButtonItem 是否为零。它可能默认为 nil,如果在绘制导航栏时未设置,则自动设置默认按钮。
      【解决方案3】:

      您也可以尝试在推送新视图控制器之前设置标题。例如:

      -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
        [self setTitle:@"back"];
        // Push new view controller...
      }
      

      然后在您的-viewWillAppear 中将其设置回@""。

      【讨论】:

        猜你喜欢
        • 2018-06-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多