【问题标题】:Swift NavBar Hide NavBarItemSwift NavBar 隐藏 NavBarItem
【发布时间】:2020-10-16 15:24:42
【问题描述】:

在我的视图控制器内部,我有一个导航栏,左侧和右侧都有一个项目。我在视图控制器内部也有 2 个按钮。我有它,所以每个按钮都有不同的功能。我也有连接到视图的 swift 文件。

我的问题是,当我在按钮操作中执行以下任一代码时,导航栏项目不会改变。我不知道如何删除和添加项目,我也不明白我做错了什么。

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

【问题讨论】:

  • 你是如何在UINavigationBar中添加这些按钮的?

标签: swift uinavigationbar uinavigationitem


【解决方案1】:

将导航栏从故事板连接到视图控制器类

@IBOutlet var navBar: UINavigationBar!

这将隐藏按钮

navBar.topItem?.rightBarButtonItem?.isEnabled = false
navBar.topItem?.rightBarButtonItem?.tintColor = UIColor.clear

这将显示按钮

navBar.topItem?.rightBarButtonItem?.isEnabled = true
navBar.topItem?.rightBarButtonItem?.tintColor = UIColor.red

【讨论】:

    【解决方案2】:

    抱歉,由于声誉低下,我无法发表评论。您使用的是哪个 IDE?

    @dharmesh 的答案有效,如果您以编程方式创建按钮:

        let btn = UIButton(type: .system)
        btn.setTitle("Indietro", for: btn.state)
        
        btn.addTarget(self, action: #selector(annulla), for: .touchUpInside)
        self.navigationItem.leftBarButtonItem = UIBarButtonItem(customView: btn)
    

    如果您使用 IDE 中的那个,它取决于 IDE 本身来存储值以隐藏或更改它

    【讨论】:

      猜你喜欢
      • 2018-07-24
      • 2022-10-12
      • 1970-01-01
      • 1970-01-01
      • 2016-09-24
      • 2020-08-16
      • 1970-01-01
      • 2020-11-11
      • 2020-07-01
      相关资源
      最近更新 更多