2014-06-17 60 views
4

我想获得按钮值,当它被按下。Swift - 如何获得按钮的值,当它被按下?

我已经试过这给出代码 -

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 
} 
} 

打印4 * 4矩阵当按下按钮,代码 -

func btnAction (sender:UIButton!) 
{ 
    println("pressed") 
} 

通过上面的代码,我得到以下输出 - enter image description here

现在,当我按下按钮1,我想打印按钮值,这是1

回答

4

您收到按下的UIButton作为sender参数。所以你可以阅读UIButton的标题文字。

println(sender.titleLabel.text) 

或者,如果该按钮的titleLabel从值不同,使用属性tag。您可以在UIButton的创建过程中定义标记值。

5

达到目标的一种方法是使用UIButtontag属性。

此行添加到创建按钮循环:

btn_creat.tag = self.rand_creation(1, second: 9) 
var myString = String(btn_creat.tag) 

现在,您的标记设置到该按钮的数量,您可以在btnAction:代码打印:

println(sender.tag) 
0

你已经设置了标题,所以把它拿回来。

func btnAction(sender: UIButton) { 
    println(sender.currentTitle!) 
} 
相关问题