所以我有一个带有 3 个按钮的故事板,我只想为所有这 3 个按钮创建 1 个操作,并根据它们的标签/id 决定要做什么...
有没有办法为每个按钮获取某种标识符?
顺便说一句,它们是图像,因此没有标题。
@IBAction func mainButton(sender: UIButton) {
println(sender)
}
您可以设置一个tag
在每个按钮的故事板中。然后你可以这样识别它们:
@IBAction func mainButton(sender: UIButton) {
println(sender.tag)
}
EDIT:为了提高可读性,您可以使用与所选标签相对应的值定义枚举。所以如果你设置像这样的标签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")
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)