我正在尝试检测按钮按下而当前标题是“取消”。按钮的原始标题是“查找”,但是一旦按下它就会变为“取消”,当标题为“取消”时,我想按下按钮时执行某些操作。
以下是代码:
@IBAction func findMachinesTapped(sender: AnyObject?) {
//Something is done
if error = nil{
self.findButton.setTitle("Cancel", forState: UIControlState.Normal)
//if self.vizoPoolButton.currentTitle == "Cancel Vizo"{
//self.deleteRequest()
//self.loadingNotification.hide(true)
//}
}else{
self.displayAlert("Could not find anything", message: "Try again later")
}
}
当按钮标题变为“取消”时,注释的代码块会自动调用函数deleteRequest,而不是在按下时,标题为“取消”。
答案 0 :(得分:1)
为此,您需要在selected
状态添加您想要的代码default
条件时检查按钮的状态。
@IBAction func buttonClicked(sender: UIButton) {
sender.selected = !sender.selected
if sender.selected {
// TITLE IS CANCEL
} else {
// TITLE IS FIND
}
}
答案 1 :(得分:0)
为按钮创建IBAction方法。在方法内检查其标题并执行任何功能。
@IBAction func buttonClicked(sender: UIButton) {
if let text = sender.titleLabel?.text {
if text == "Cancel" {
// Do something
}
}
}
答案 2 :(得分:-2)
制作两个按钮,一个在另一个上面。启用“查找”按钮时,将“取消”按钮设置为禁用。按下查找按钮后,执行查找按钮需要执行的操作,然后禁用查找按钮并启用取消按钮。