gpt4 book ai didi

ios - 自定义后栏项目按钮

转载 作者:行者123 更新时间:2023-11-30 13:10:37 25 4
gpt4 key购买 nike

我尝试弹回到导航 Controller 下的第一个 View Controller ,而不是返回 1 个 View Controller 。

func setupBackBarButtons() {

let myBackButton = UIButton()
myBackButton.addTarget(self, action: #selector(presentListController), forControlEvents: .TouchUpInside)
let myCustomBackButtonItem = UIBarButtonItem(customView: myBackButton)

self.navigationItem.backBarButtonItem = myCustomBackButtonItem // This works
self.navigationItem.leftBarButtonItem = myCustomBackButtonItem // This doesn't.

}

func presentListController() {
navigationController?.popToViewController((self.navigationController?.viewControllers[0])!, animated: true)
}

我有点困惑为什么我可以将自定义按钮添加到 leftBarButtonItem但不是backBarButtonItem .

我只想添加一个目标以将其弹回第一个 View Controller ,但不更改标题(仍然将其​​保留在角落中的 < )。我会用leftBarButtonItem来做到这一点但我不确定如何保留 <在标题中。

最佳答案

请勿更改后退按钮的功能。当你尝试这样做时,你只需打破后退按钮即可。您可以自定义后退按钮的外观,但无法更改其操作。您必须提供一个 nil 操作和目标,以便后退按钮仍可用作后退按钮。

要自定义后退按钮的行为,请更改导航 Controller 本身的行为。为导航 Controller 提供一个委托(delegate)并实现 navigationController:didShowViewController:animated:。在您的实现中,看看我们是如何到达这里的。如果我们到达这里是因为我们弹出到它,则进一步弹出(到根)。

关于ios - 自定义后栏项目按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38773210/

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