在我的viewDidLoad
中,我有以下代码隐藏后退按钮。但是,在实施后,这会禁用我选择搜索的链中的其他View Controllers
的后退按钮。我不确定,但这可能与我构建应用程序的方式有关(请参见图片-请注意,最左侧的Navigation Controller
已连接到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
答案 0 :(得分:1)
如果只想隐藏当前屏幕上的后退按钮,则只应清除leftBarButtonItem
。如果您也隐藏backBarButtonItem
,则将其应用于下一个屏幕的navigationItem
。这有帮助吗?
答案 1 :(得分:0)
尝试
self.parent?.navigationItem.setHidesBackButton(真,动画:假)
有时viewController在没有self.parent的情况下无法识别其导航控制器