要实现不使用标签或名称属性确定哪个UIButton被按下,可以使用UIButton的Tag属性来识别不同的按钮。
首先,为每个UIButton设置不同的Tag值,可以在Interface Builder中设置或通过代码设置。例如:
button1.tag = 1
button2.tag = 2
button3.tag = 3
然后,为每个按钮绑定同一个方法,该方法用于处理按钮点击事件。在方法中,可以通过sender参数获取被点击的按钮的Tag值,从而确定是哪个按钮被按下。例如:
@IBAction func buttonPressed(_ sender: UIButton) {
let tag = sender.tag
switch tag {
case 1:
// 处理button1被按下的情况
// ...
case 2:
// 处理button2被按下的情况
// ...
case 3:
// 处理button3被按下的情况
// ...
default:
break
}
}
最后,将每个按钮与该方法进行关联,可以通过Interface Builder中的连接线或通过代码进行关联。例如:
button1.addTarget(self, action: #selector(buttonPressed(_:)), for: .touchUpInside)
button2.addTarget(self, action: #selector(buttonPressed(_:)), for: .touchUpInside)
button3.addTarget(self, action: #selector(buttonPressed(_:)), for: .touchUpInside)
这样,当任何一个按钮被按下时,都会触发buttonPressed方法,并通过按钮的Tag值来确定是哪个按钮被按下。