作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
所以我有一个包含 3 个按钮的 Storyboard,我只想为所有这 3 个按钮创建 1 个 Action ,并根据它们的标签/ID 决定要做什么...
有没有办法为每个按钮获取某种标识符?
顺便说一句,它们是图像,所以它们没有标题。
@IBAction func mainButton(sender: UIButton) {
println(sender)
}
最佳答案
您可以在 Storyboard中为每个按钮设置一个标签
。然后你可以这样识别它们:
@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/
我是一名优秀的程序员,十分优秀!