Ios 修改并自定义UINavigationBar后退按钮的行为
我在导航栏中嵌入了一个ViewController。我希望导航栏中的“后退”按钮具有以下效果:Ios 修改并自定义UINavigationBar后退按钮的行为,ios,swift,uinavigationcontroller,uinavigationbar,Ios,Swift,Uinavigationcontroller,Uinavigationbar,我在导航栏中嵌入了一个ViewController。我希望导航栏中的“后退”按钮具有以下效果: 如果条件已满,则应用“后退”按钮的正常行为 如果条件未满足,则留在同一个VC上做其他事情 试着这样做:- override func viewDidLoad() { let transparentButton = UIButton() transparentButton.frame = CGRectMake(0, 0, 50, 40) transparen
- 如果条件已满,则应用“后退”按钮的正常行为
- 如果条件未满足,则留在同一个VC上做其他事情
- 试着这样做:-
override func viewDidLoad() {
let transparentButton = UIButton()
transparentButton.frame = CGRectMake(0, 0, 50, 40)
transparentButton.backgroundColor = UIColor.orangeColor()
transparentButton.addTarget(self, action:"backAction:", forControlEvents:.TouchUpInside)
self.navigationController?.navigationBar.addSubview(transparentButton)
}
功能是
func backAction(sender:UIButton) {
// check your condition
}
thks只需修改操作语法:action:#selector(backAction(sender:)great您知道为了执行导航控制器的正常返回,我必须在“backAction”中输入的代码吗?是的,只需输入您要检查的条件,如果成功,则通过self.navigationController.popViewController返回(动画:true)否则,请执行自定义任务。我理解的最后一个问题:您添加的自定义backbutton下是否仍保留标准backbutton?在将自定义backbutton添加为子视图之前删除标准backbutton是“更安全”还是“更干净”?您可以将其隐藏,这没有问题。