ios - 如何隐藏条形按钮项目

标签 ios objective-c swift

我的屏幕流程如下

登录 -> 注册 -> 汽车详情

以上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 。

enter image description here

最佳答案

您可以通过禁用按钮并像这样更改它的 tintColor 来隐藏它,

self.navigationItem.rightBarButtonItem?.isEnabled = false
self.navigationItem.rightBarButtonItem?.tintColor = UIColor.clear

根据您的喜好向右或向左执行 BarButtonItem。希望能帮助到你。

关于ios - 如何隐藏条形按钮项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39260491/

相关文章:

ios - 在 iOS 中使用 SwiftyJSON 时无法编译

mysql - Swift Vapor/Fluent 模型中的其他数据类型(例如 Unsigned SmallInt、Datetime 和 Decimal)?

ios - 像照片应用一样模糊UINavigationBar

ios - 自动RTL,LTR约束行为

ios - 识别 UIViewController 上的 View

iOS : Customizing TableViewCell - Initializing Custom Cell

ios - 如何在我的 Storyboard中处理具有两种不同布局的 View Controller ?

iphone - 当帖子中的链接被点击时,Facebook iPhone 应用程序打开 App Store 应用程序而不是网页

iphone - 检查设备上是否启用了 facetime

ios - swift : Save & Show selected indexPath in static Table View