首页 > 解决方案 > setHidesBackButton 不起作用

问题描述

在我viewDidLoad的 中,我有以下代码来隐藏后退按钮。但是,在实施时,这会禁用View Controllers我继续关注的链中的后退按钮。我不确定,但这可能与我构建应用程序的方式有关(请参见图片 - 请注意,Navigation Controller最左侧的 连接到 a Tab Bar Controller)。

// Removes back button
self.tabBarController?.navigationItem.hidesBackButton = true
self.tabBarController?.navigationItem.setHidesBackButton(true, animated: false)
self.tabBarController?.navigationItem.leftBarButtonItem = nil

我也尝试了以下代码,但这也不起作用。

self.navigationItem.leftBarButtonItem = nil
self.navigationController?.navigationItem.leftBarButtonItem = nil
navigationItem.setLeftBarButton(nil, animated: false)
self.navigationItem.setLeftBarButton(nil, animated: false)
self.tabBarController?.navigationItem.leftBarButtonItem = nil
self.tabBarController?.navigationItem.setLeftBarButton(nil, animated: false)
self.navigationController?.navigationBar.topItem?.leftBarButtonItem = nil

在此处输入图像描述

标签: iosswiftuinavigationcontroller

解决方案


如果您只想隐藏当前屏幕上的后退按钮,您应该只清除leftBarButtonItem. 如果您隐藏backBarButtonItem将应用于下一个屏幕的navigationItem. 这有帮助吗?


推荐阅读