[英]swift identify which button was pressed
如何快速识别是否按下了哪个按钮我有 3 个按钮操作。现在我有另一个按钮,当按下它时它将识别按下 3 个按钮中的哪个按钮。 原因首先是您必须在单击 3 按钮后单击 3 按钮,然后您将单击 identfifywhichpressed 按钮,此按钮将识别或打印 3 中的哪个按钮被按下。
//this button will identify
@IBAction func idenfifywhichpressed(_ sender: UIButton) {
}
3 个按钮
@IBAction func btn1(_ sender: UIButton) {
}
@IBAction func btn2(_ sender: UIButton) {
}
@IBAction func btn3(_ sender: UIButton) {
}
尝试这样的事情
声明一个枚举
enum SelectedButtonTag: Int {
case First
case Second
case Third
}
按钮动作
使用不同的标签将三个按钮操作连接到此方法
@IBAction func idenfifywhichpressed(sender: UIButton) {
switch sender.tag {
case SelectedButtonTag.First.rawValue:
print("do something when first button is tapped")
case SelectedButtonTag.Second.rawValue:
print("do something when second button is tapped")
case SelectedButtonTag.Third.rawValue:
print("do something when third button is tapped")
default:
print("default")
}
}
做这样的事情,
var index:Int = 0
现在这样做,仅供参考,相应地设置按钮标签 1,2 和 3...
@IBAction func btn1(_ sender: UIButton) {
index = sender.tag
}
@IBAction func btn2(_ sender: UIButton) {
index = sender.tag
}
@IBAction func btn3(_ sender: UIButton) {
index = sender.tag
}
现在这个,
@IBAction func idenfifywhichpressed(_ sender: UIButton) {
if index == 1 {
//Button 1 Pressed
}else if index == 2 {
//Button 2 Pressed
} else if index == 3{
//Button 3 Pressed
}
}
供参考。 您也可以在idenfifywhichpressed
方法中使用Switch
语句。
更新。 不要为 btn1、btn2 和 btn3 创建三个方法,为简单起见,只需创建一个方法并相应地分配标签。
@prajnaranjan-das 答案的小改进:立即转换为枚举以清理一些杂物并消除在开关中实现默认值的需要......
enum ButtonTag: Int {
case First
case Second
case Third
}
func buttonTapped(_ sender: UIButton) {
guard let knownSender = ButtonTag(rawValue: sender.tag) else { return }
switch knownSender {
case .First:
print("do something when first button is tapped")
case .Second:
print("do something when second button is tapped")
case .Third:
print("do something when third button is tapped")
}
}
我认为您可以采用类似的变量
var checkBtn: String?
在第一个按钮内更改变量值
checkBtn = "1"
在第二个按钮内更改变量值
checkBtn = "2"
在第三个按钮内更改变量值
checkBtn = "3"
@IBAction func idenfifywhichpressed(_ sender: UIButton) {
// just print the value of CheckBtn
print(checkBtn)
//this will give you which btn pressed right
}
这对我有帮助(swift 5.0)
@IBAction func hardnessSelected(_ sender: UIButton) {
print(sender.currentTitle) // <----------
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.