【问题标题】:How do I get the back bar button item to show up in my navigation item in iOS?如何让后退栏按钮项目显示在 iOS 的导航项目中?
【发布时间】:2019-03-25 06:48:03
【问题描述】:

我无法在导航控制器的根视图控制器的导航项中显示后退栏按钮项。

我尝试过设置不同的属性。

像这样的其他问题没有给我一个有效的答案。

她是我在根视图控制器中的代码:

override func viewDidLoad() {
    super.viewDidLoad()

    print("viewDidLoad")

    navigationItem.leftItemsSupplementBackButton = true
    navigationItem.backBarButtonItem = UIBarButtonItem(title: "Button", style: .plain, target: nil, action: nil)
    navigationItem.setHidesBackButton(false, animated: true)
    navigationItem.leftItemsSupplementBackButton = true

}

【问题讨论】:

    标签: ios swift uinavigationcontroller uinavigationitem backbarbuttonitem


    【解决方案1】:

    分配给leftBarButtonItem 而不是backBarButtonItem 对我有用:

    override func viewDidLoad() {
        super.viewDidLoad()
    
        print("viewDidLoad")
    
        navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Button", style: .plain, target: nil, action: nil)
    }
    

    【讨论】:

    • 我认为这不是 Apple 的本意。做对了,后退按钮会增加功能,比如按钮标签旁边的左箭头图像,按钮标签会自动设置,当按钮被带回之前的场景轻拍。使用拆分视图控制器时,我可以让它按照 Apple 的预期工作。
    • 如果如问题中所述,视图控制器是导航层次结构中的根视图控制器,用户应该被带到哪里?
    • 根视图控制器是附加到导航控制器的视图控制器。它不一定是用户在应用启动时被带到的初始视图控制器。用户将被带回呈现当前视图控制器的视图控制器。
    • 是的,我就是这个意思。导航控制器的rootViewController。正如docs 中所述:“对于除根视图之外的所有视图,导航控制器都提供了一个后退按钮以允许用户向上移动层次结构。”如果您想关闭整个导航导航控制器处理的堆栈,您可以从最初呈现它的视图控制器中关闭导航控制器。
    • 我想我一直在使用错误的导航控制器。谢谢你给我看。我很感激。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多