如何隐藏栏按钮项目

Rai*_*bal 5 objective-c ios swift

我的屏幕流程如下

登录 - >注册 - > CarDetails

以上所有3个屏幕都在导航控制器中,但不允许用户从汽车详细信息返回到注册.实现它,我

override func viewWillAppear(animated: Bool)
    {
        self.navigationItem.setHidesBackButton(true, animated:true);
    } 
Run Code Online (Sandbox Code Playgroud)

在CarDetails视图控制器中.所以它隐藏了后退按钮,如果控制器在导航控制器中,它会自动生成.

到目前为止一切都很好.

在主屏幕上提供所有详细用户登陆后,我已滑出菜单.从菜单用户也可以转到CarDetail屏幕(更新).那个时候而不是backButton我需要滑出菜单按钮作为左栏按钮.所以我用故事板创建了它.

问题是它也会在注册视图后显示.我需要在Car-Details View中为它设置条件显示/隐藏功能.

我也跟它一样,如下所示

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
}
Run Code Online (Sandbox Code Playgroud)

我只需要将行放入else块.

在此输入图像描述

Ria*_*man 13

您可以通过禁用按钮隐藏它并将其更改为tintColor,

self.navigationItem.rightBarButtonItem?.isEnabled = false
self.navigationItem.rightBarButtonItem?.tintColor = UIColor.clear
Run Code Online (Sandbox Code Playgroud)

无论您喜欢什么,都可以向右或向左移动BarButtonItem.希望能帮助到你.


小智 5

您可以这样隐藏它:

self.navigationItem.leftBarButtonItem = nil
Run Code Online (Sandbox Code Playgroud)

您可以添加一个新的左按钮,如下所示:

self.navigationItem.leftBarButtonItem = UIBarButtonItem(title: "Button", style: .Plain, target: self, action: #selector(ViewController.buttonTapped))
Run Code Online (Sandbox Code Playgroud)

希望对您有所帮助,

干杯