【问题标题】:UINavigationController's back button disappears?UINavigationController 后退按钮消失?
【发布时间】:2009-05-28 08:43:28
【问题描述】:

我注意到我的一个视图控制器发生了一些奇怪的事情:后退按钮消失了,但可以通过点击左上角(即按钮所在的位置)返回到上一个视图控制器。

在我的整个文件中,没有将 self.navigationItem.hidesBackButton 设置为 YES 的行; NSLog 也会在 viewDidLoad 中打印 0 作为 self.navigationItem.hidesBackButton 的值。

这在模拟器和真实设备中都会发生。有什么想法吗?

【问题讨论】:

  • 我也遇到了同样的问题,但是点击左上角没有任何效果,但原因是一样的。
  • 一旦我的

标签: iphone objective-c cocoa-touch


【解决方案1】:

哦,亲爱的。在之前的view controller的实现中,不小心把self.title设置成了@"",导致了这个烦人的bug。

删除此行即可解决问题。

【讨论】:

    【解决方案2】:

    我有一个递归导航控制器,这也发生在我身上,我用这个代码来修复它:

    self.navigationItem.leftItemsSupplementBackButton = true
    

    【讨论】:

      【解决方案3】:

      以防万一有人在使用自定义后退按钮时遇到此问题,并且上述修复不起作用,这里有一个类似的问题,我遇到了不同的解决方案。

      我有一个自定义的后退按钮,其中的文字正在消失,而箭头却可以看到 UINavigationController custom back button disappears from NavigationBar

      因此,如果有人遇到类似的情况,自定义后退按钮上的后退按钮文本消失,这是我的方案并修复。

      我在自定义 NavigationController 类中自定义了后退按钮,如下所示:

      private func customizeBackButton() {
          let backImage = UIImage(named: "BackButton")?.withRenderingMode(.alwaysOriginal)
          navigationBar.backIndicatorImage = backImage
          navigationBar.backIndicatorTransitionMaskImage = backImage
          
          UIBarButtonItem.appearance().setTitleTextAttributes([
            NSAttributedString.Key.foregroundColor: UIColor.panoStoryYellow,
            NSAttributedString.Key.font: UIFont(name: "Montserrat-SemiBold", size: 15)!
          ], for: .normal)
      }
      

      这给了我:

      现在,当我点击后退按钮文本时,文本消失了:

      我确保我遵循了上述所有答案,例如设置标题以确保色调颜色有效等。但这不起作用。

      在我的例子中,我需要为返回按钮的highlighted 状态设置属性,如下所示:

      UIBarButtonItem.appearance().setTitleTextAttributes([
            NSAttributedString.Key.foregroundColor: UIColor.panoStoryYellow,
            NSAttributedString.Key.font: UIFont(name: "Montserrat-SemiBold", size: 15)!
      ], for: .highlighted)
      

      在这之后,后退按钮的文字就再也没有消失过

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-09
        • 2011-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多