所以我有一个带有3个按钮的 Storyboard ,我只想为所有这3个按钮创建1个 Action 并根据其标签/标识决定要做什么...
有没有办法为每个按钮获取某种标识符?
顺便说一句,它们是图像,因此它们没有标题。
@IBAction func mainButton(sender: UIButton) {
println(sender)
}
最佳答案
您可以在 Storyboard 中为每个按钮设置tag
。然后,您可以通过以下方式识别它们:
@IBAction func mainButton(sender: UIButton) {
println(sender.tag)
}
编辑:为了提高可读性,您可以定义一个枚举,其值与所选标签相对应。因此,如果您为按钮设置了像
0
,1
,2
这样的标签,则在类声明上方可以执行以下操作:enum SelectedButtonTag: Int {
case First
case Second
case Third
}
然后,您将拥有:
@IBAction func mainButton(sender: UIButton) {
switch sender.tag {
case SelectedButtonTag.First.rawValue:
println("do something when first button is tapped")
case SelectedButtonTag.Second.rawValue:
println("do something when second button is tapped")
case SelectedButtonTag.Third.rawValue:
println("do something when third button is tapped")
default:
println("default")
}
}
关于swift - 通过发件人在Swift上获取按下按钮的ID,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30046540/