如何在Swift中更改rightBarButtonItem项的文本颜色

hjqgdpho  于 2023-03-07  发布在  Swift
关注(0)|答案(2)|浏览(169)

我正在尝试更改rightBarButtonItem项文本的文本颜色,默认情况下为蓝色。我正在尝试将其更改为黑色。
我目前的代码是:
自导航项目.右条形按钮项目?. tint颜色= .black
这不会改变任何东西,文本颜色是相同的。添加了取消rightBarButtonItem图像,我需要将文本从蓝色更改为黑色。我怎么做

bxgwgixi

bxgwgixi1#

请确保在设置rightBarButtonItem的色调之前对其进行初始化,否则您的可选biding将静默失败:

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    navigationItem.rightBarButtonItem = .init(
        barButtonSystemItem: .cancel,
        target: self,
        action: #selector(cancelAction)
    )
    navigationItem.rightBarButtonItem?.tintColor = .black
}

@objc func cancelAction(_ barButtonItem: UIBarButtonItem) {
   print(#function)
}
eni9jsuy

eni9jsuy2#

如果使用故事板,首先制作一个Bar按钮项的出口,如

@IBOutlet weak var menuBtn:UIBarButtonItem!

ViewDidLoad()函数处写入此代码,该代码将更改条形按钮(又名文本颜色)的色调

self.menuBtn.tintColor = .red

这将改变文本的色调。
如果使用程序,那么你可以做到这一点。首先嵌入视图控制器在导航控制器。并在viewDidLoad()函数。你可以编码这一点。

@overide func viewDidLoad(){
   super.viewDidLoad()
   self.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "editor", style: .done, target: self, action: #selector(someAction(_ :)))
   self.navigationItem.rightBarButtonItem?.tintColor = .green
}

这会将条形按钮项的色调颜色更改为绿色

相关问题