如何使用swift字符串的值作为要编辑的UIObject的名称?

时间:2016-01-06 20:48:08

标签: ios swift

是否可以使用swift字符串的值编辑UIObject? 例如,如果我必须更改在快速iOS项目的故事板中创建的按钮的backgroundcolor,并且我无法写入名称,但该名称是字符串的值。那么可以改变按钮的背景颜色吗?我试图这样做的原因是,我有很多按钮在按下时调用带有自己名字参数的函数。完成后,该功能知道哪个按钮颜色为红色。我尝试过这样的事情:

@IBOutlet weak var PressMeButtonOutlet: UIButton!
@IBAction func PressMeButtonAction(sender: AnyObject) {
    reColor("PressMeButtonOutlet")
}    


func reColor (buttonName: String) {

\(buttonName).backgroundColor = UIColor.redColor()

1 个答案:

答案 0 :(得分:1)

当UIButton触发IBAction时,它会发送自己的引用作为发件人。

所以简单的方法就是:

@IBAction func PressMeButtonAction(sender: UIButton) {
    reColor(sender)
}    


func reColor (button: UIButton) {

    button.backgroundColor = UIColor.redColor()
}

请注意,我已将IBAction参数更改为UIButton