我希望得到按钮值,当它被按下时。
我已尝试按照给定代码打印4 * 4矩阵 -
func creation_of_btn()
{
var x_axis:CGFloat = 50.0
var y_axis:CGFloat = 50.0
for x in 1...4
{
for y in 1...5
{
let btn_creat = UIButton.buttonWithType(UIButtonType.Custom) as UIButton!
btn_creat.frame = CGRectMake(x_axis, y_axis, 100, 100)
x_axis += 110.0
btn_creat.backgroundColor = UIColor .redColor()
btn_creat.font = UIFont .boldSystemFontOfSize(50)
var myString = String(self.rand_creation(1, second: 9))
btn_creat .setTitle(myString, forState: UIControlState.Normal)
btn_creat.addTarget(self, action: "btnAction:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(btn_creat)
}
x_axis = 50.0
y_axis += 110.0
}
}
按下按钮时,代码为 -
func btnAction (sender:UIButton!)
{
println("pressed")
}
通过上面的代码,我得到以下输出 -
现在,当我按下按钮1时,我想打印按钮值,即1。
答案 0 :(得分:6)
实现目标的一种方法是使用tag
的{{1}}属性。
将此行添加到创建按钮的循环中:
UIButton
现在您的代码已设置为按钮编号,您可以使用btn_creat.tag = self.rand_creation(1, second: 9)
var myString = String(btn_creat.tag)
代码进行打印:
btnAction:
答案 1 :(得分:4)
您收到按下的 UIButton 作为sender
参数。因此,您可以阅读 UIButton 的标题文本。
println(sender.titleLabel.text)
或者,如果按钮的titleLabel与值不同,请使用属性tag
。您可以在UIButtons的创建过程中定义标记值。
答案 2 :(得分:0)
您已经设置了标题,所以只需将其恢复。
func btnAction(sender: UIButton) {
println(sender.currentTitle!)
}