我的屏幕流程如下
登录 -> 注册 -> 汽车详情
以上3个界面都在navigation-controller中,但是不允许用户从Car-Details返回到Registration。为了实现它,我已经
override func viewWillAppear(animated: Bool)
{
self.navigationItem.setHidesBackButton(true, animated:true);
}
在 CarDetails View Controller 中。所以它隐藏了后退按钮,如果 Controller 在导航 Controller 中,该按钮会自动创建。
到目前为止还不错。
在提供所有详细信息后,用户会进入我滑出菜单的主屏幕。从菜单用户也可以转到 CarDetail 屏幕(以更新)。那个时候我需要滑出式菜单按钮而不是 backButton 作为左栏按钮。所以我使用 Storyboard创建了它。
问题是它也在注册 View 之后显示。我需要在 Car-Details View 中有条件地显示/隐藏它的功能。
我也有钩子(Hook),如下
override func viewDidLoad()
{
super.viewDidLoad()
if menuButtonVisibility
{
if self.revealViewController() != nil
{
menuButton.target = self.revealViewController()
menuButton.action = "revealToggle:"
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
}
else
{
}
menuButtonVisibility=true
}
我只需要将行放入 else block 。
最佳答案
您可以通过禁用按钮并像这样更改它的 tintColor 来隐藏它,
self.navigationItem.rightBarButtonItem?.isEnabled = false
self.navigationItem.rightBarButtonItem?.tintColor = UIColor.clear
根据您的喜好向右或向左执行 BarButtonItem。希望能帮助到你。
关于ios - 如何隐藏条形按钮项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39260491/