gpt4 book ai didi

ios - 导航栏的右侧按钮丢失

转载 作者:行者123 更新时间:2023-11-28 11:43:18 26 4
gpt4 key购买 nike

我正在尝试为导航栏的右按钮创建一个自定义按钮。但它总是失踪。这是我从 viewWillAppear::

调用的代码
func setNavBar() {
self.navigationController?.setNavigationBarHidden(false, animated: false)

let rightNavButton : UIBarButtonItem = UIBarButtonItem(image: UIImage(named: "photo_camera"), style: .plain, target: self, action: #selector(onCameraButton(sender:)))

self.navigationController?.navigationBar.topItem?.hidesBackButton = false
self.navigationController?.navigationBar.topItem?.rightBarButtonItem = rightNavButton

}

显示后退按钮,因此 topItem 绝对不是 nil。但是我不知道为什么,但是缺少右侧栏按钮。我试过将它变成一个只有一个项目的数组,但它仍然没有用。有人可以帮我吗?谢谢。

编辑:顺便说一句,具有此代码的 View Controller 是从另一个具有非常相似代码的 View Controller 调用的,并且运行良好。不知道这两者有什么区别。这是工作代码:

func setNavBar() {
self.navigationController?.setNavigationBarHidden(false, animated: false)

let rightNavButtons : [UIBarButtonItem] = [
UIBarButtonItem(image: UIImage(named: "edit"), style: .plain, target: self, action: #selector(onEditButton)),
UIBarButtonItem(image: UIImage(named: "settings"), style: .plain, target: self, action: #selector(onSettingsButton))

]

self.parent?.title = "Profile"
self.navigationController?.navigationBar.topItem?.hidesBackButton = true
self.navigationController?.navigationBar.topItem?.rightBarButtonItems = rightNavButtons
}

最佳答案

我在当前项目中实现了以下代码以添加右栏按钮。

func addRightButton(title: String) {
let barRightButton = UIBarButtonItem(title: title, style: .plain, target: self, action: #selector(rightBarButtonTapped(sender:)))
self.navigationItem.rightBarButtonItem = barRightButton
}

这在我的整个项目中都很好用。你应该需要使用 self.navigationItem.rightBarButtonItem 而不是 self.navigationController?.navigationBar.topItem?.setRightBarButton(rightNavButton, animated: false)

试试这个,让我知道它是否有效。希望对您有所帮助。

关于ios - 导航栏的右侧按钮丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53130206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com