Ios 在Swift中隐藏TabbedBarController上的后退按钮
我有一个NavigationViewController,它可以连接到TabbedBarController。我不想在TabbedBarController上显示后退按钮。 我在Swift中尝试了这两个代码片段,但都不起作用Ios 在Swift中隐藏TabbedBarController上的后退按钮,ios,swift,Ios,Swift,我有一个NavigationViewController,它可以连接到TabbedBarController。我不想在TabbedBarController上显示后退按钮。 我在Swift中尝试了这两个代码片段,但都不起作用 override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(animated) self.tabBarController?.navigationItem.hid
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.tabBarController?.navigationItem.hidesBackButton = true
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationItem.hidesBackButton = true
}
这是一张快照
这是选项卡式的条形视图控制器
如何隐藏选项卡式工具栏视图控制器上的“后退”按钮。如何隐藏选项卡式工具栏控制器上的“后退”按钮?有很多方法可以满足您的需要,但我99.9%确信,可以在leftBarButtonItems中添加一个barButton来替换navigationController的默认backButton:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationItem.leftBarButtonItems = [UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)]
}
此外,当重写控制器的任何生命周期方法时,您可能不希望遗漏父类中的任何内容,因此不要忘记调用其超级等价物,如super.viewWillApperanimated
我希望这有帮助
编辑:有两种方法可以在tabBarController中执行您想要的操作,因为我已经可以描绘出项目的流程
将代码放入tabBarController的ViewWillDisplay中。这意味着您可能需要对UITabBarController进行子类化。所以它应该是这样的:
class MyTabBarController: UITabBarController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationItem.leftBarButtonItems = [UIBarButtonItem(title: "", style: .plain, target: nil, action: nil)]
}
}
你应该展示你的tabBarController,这更理想
因此,这将从先前的ViewController中删除“后退”按钮,该按钮将进入选项卡栏控制器。我想从TabbedBarViewController中删除“后退”按钮。我有一个导航视图控制器,它可以连接到TabbedBarController。我不想在TabbedBarController上显示后退按钮。我有一个ViewController A,它被嵌入到一个导航控制器中,导航控制器分为B,导航控制器分为一个有C和D的选项卡条控制器。我把你的代码添加到了B,它丢失了后退按钮。我想要的是C和D失去后退按钮。你有时间上传你当前结果的截图吗?因为我似乎无法得到你得到的。移除或隐藏嵌入在ViewController a的navigationController中的tabBarController的backButton意味着C和D也不会backButton,假设您在navigationController中嵌入每个控制器的方式是正确的..让我们来看看。