代码之家  ›  专栏  ›  技术社区  ›  Kashif Richard Brightwell

如何获取导航返回按钮标题?

  •  0
  • Kashif Richard Brightwell  · 技术社区  · 8 年前

    self.navigationItem.backBarButtonItem!.title 原因 致命错误:在展开可选值时意外发现nil 虽然在我的视图控制器中有一个带有标题字符串的后退按钮

    如何获取后退按钮的标题字符串?

    1 回复  |  直到 8 年前
        1
  •  1
  •   beyowulf    8 年前

    当您引用时 self.navigationItem.backBarButtonItem 您应该知道,这是在以下情况下将在导航栏中使用的栏按钮项: self 不是 topViewController 而是直接在 TopView控制器 自己导航项。后座岩 当 自己 是 TopView控制器 但是当另一个视图控制器被推到它上面时。

    当此属性为nil时,导航项使用其title属性中的值创建适当的后退按钮。

    意思是 自己导航项。后座岩 可以是 nil 还有一个头衔。看见 here

    如果你想知道后退按钮使用的是什么文本,你可以说:

    extension UINavigationController {
        var backButtonText: String? {
            guard let self.viewControllers.count > 1 else { return nil }
            let viewController = self.viewControllers[self.viewControllers.count - 2]
            return viewController.navigationItem.backBarButtonItem?.title ?? viewController.title
        }
    }
    

    print(self.navigationController?.backButtonText ?? "No back button title")