确定不使用标签或名称属性就按下哪个UIButton

时间:2019-02-04 22:57:04

标签: ios swift uibutton

我有多个按钮,这些按钮是在用户想要创建新按钮时以编程方式创建的。可以编辑按钮并确定要按下哪个按钮,我使用UIButton的{​​{1}}属性,如果标记值与存储的值匹配,则该属性通过字典传递。

我知道我也可以使用按钮名称确定按下哪个按钮,但是按钮名称可能重复。

还有其他方法吗?我只是想知道我是否使用tag的{​​{1}}来做到这一点。创建每个按钮时,我都会创建UUID。可以以某种方式使用它吗?

1 个答案:

答案 0 :(得分:0)

Paulw11给了我一个简单创建自定义UIbutton的想法。创建按钮时,我使用CustomBtn而不是UIButton。

创建按钮时,会将UUID分配给customBtn.UUID,然后将其保存到我的数据库中。然后,我使用过滤器将CustomBtn.UUIDtag与单击按钮时保存的内容进行比较。如果需要,这种绕过必须使用UIbutton.tag。

@IBAction func mainButton(sender: CustomBtn){
if let button = buttonPlist.arrayObjects.filter({$0.UUIDbtn == sender.UUIDtag}).first {

//ACTION to be implemented
  }
}

class CustomBtn: UIButton {
var UUIDtag: UUID?
}