如何在swift中识别是否按下了哪个按钮我有3个按钮动作。现在我有另一个按钮,当按下它时将识别3按下了哪个按钮。首先,您必须在单击3按钮后单击3按钮,然后单击 识别按下按钮,此按钮将识别或打印按下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) {
}
答案 0 :(得分:2)
尝试这样的事情
声明枚举
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")
}
}
答案 1 :(得分:0)
做这样的事,
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
}
}
FYI。您也可以在Switch
方法中使用idenfifywhichpressed
语句。
更新。不要为btn1,btn2和btn3创建三种方法,只需创建一个方法并相应地分配标记即可。
答案 2 :(得分:0)
对@ prajnaranjan-das的小改进回答:立即转换为枚举以清除一些错误并删除在交换机中实现默认的需要......
Variables
答案 3 :(得分:0)
我认为你可以选择像
这样的变量var checkBtn: String?
在第1个按钮内更改变量值
checkBtn = "1"
第二个按钮内的更改变量值
checkBtn = "2"
在第3个按钮内更改变量值
checkBtn = "3"
@IBAction func idenfifywhichpressed(_ sender: UIButton) {
// just print the value of CheckBtn
print(checkBtn)
//this will give you which btn pressed right
}