Swift UIButton按钮标题在单击另一个按钮时自动更改为其标题
我的应用程序中有12个按钮。最后一个按钮的标题会自动更改为我按下的任何其他按钮的标题。例如,如果按钮3的标题是Joe,那么最后一个按钮(Swift UIButton按钮标题在单击另一个按钮时自动更改为其标题,swift,button,uibutton,set,Swift,Button,Uibutton,Set,我的应用程序中有12个按钮。最后一个按钮的标题会自动更改为我按下的任何其他按钮的标题。例如,如果按钮3的标题是Joe,那么最后一个按钮(标记12)会自动更改为Joe(即使没有代码更改其标题。这很奇怪 PS:我最初在代码中设置了标题: func btnSetIcon(btnNumber: Int){ println("In btnSetIcon btnNumber = \(btnNumber)") btn.titleLabel?.numberOfLines = 2 bt
标记12
)会自动更改为Joe(即使没有代码更改其标题。这很奇怪
PS:我最初在代码中设置了标题:
func btnSetIcon(btnNumber: Int){
println("In btnSetIcon btnNumber = \(btnNumber)")
btn.titleLabel?.numberOfLines = 2
btn.titleLabel?.textAlignment = NSTextAlignment.Center
btn.titleLabel?.adjustsFontSizeToFitWidth = true
detail1.keyboardType = UIKeyboardType.ASCIICapable
detail1.rightViewMode = UITextFieldViewMode.Never
switch btnNumber {
case 1: btn.setTitle("BUCKET\nLIST", forState: .Normal)
case 2: btn.setTitle("SHOP\nLIST", forState: .Normal)
case 3: btn.setTitle("GROCERY\nLIST", forState: .Normal)
case 4: btn.setTitle("TO DO\nLIST", forState: .Normal)
case 5: btn.setTitle("NOTES\nTO SELF", forState: .Normal)
case 6: btn.setTitle("SOS\nLIST", forState: .Normal)
case 7: btn.setTitle("PHONE\n#'s", forState: .Normal)
case 8: btn.setTitle("EVENT\nLIST", forState: .Normal)
case 9: btn.setTitle("YOUR 1\nLIST", forState: .Normal)
case 10: btn.setTitle("YOUR 2\nLIST", forState: .Normal)
case 11: btn.setTitle("YOUR 3\nLIST", forState: .Normal)
case 12: btn.setTitle("YOUR 4\nLIST", forState: .Normal)
default: btn.setTitle("✚", forState: .Normal)
}
}
您没有将变量
btn
传递到btnSetIcon()
,因此它必须是viewController
的一个属性btn
可能被设置为添加到viewController
的最后一个按钮,因此当您调用btnSetIcon()
时,该按钮将被更新
也许您想在btnSetIcon()中执行类似操作:
如何创建按钮?按下按钮时是否调用btnSetIcon()
?如果是,为什么?
if let btn = self.view.viewWithTag(btnNumber) as? UIButton {
// update btn in here
}