答案 0 :(得分:4)
首先请发布文字,而不是图片
您必须使用(IBOutlet
)实例number
而不是类型UIButton
,并且必须使用正确的API
number.setTitle(String(score), for: .normal)
但是在IBAction
中,我将使用静态sender
类型(而不是未指定的Any
)声明该方法并使用该方法
@IBAction func touched(_ sender : UIButton) {
score += 1
sender.setTitle(String(score), for: .normal)
}
答案 1 :(得分:0)
如果要更改按钮的标题,则需要执行以下操作:
记住要在按钮OUTLET上执行此操作,而不要在UIButton类上执行此操作
答案 2 :(得分:0)
在这里,您正在访问UIButton类的静态方法。如果要设置标题,则需要在实例上进行设置。 根据您拥有的内容,可以在IBAction中将发送方强制转换为UIButton,然后设置标题。您还可以针对特定状态执行此操作,因为标题与UIButton的状态密切相关。
if let btn = sender as? UIButton {
btn.setTitle(“\(score)”, forState: .normal)
}
您还可以改用IBOutlet参考。
number.setTitle(“\(score)”, forState: .normal)
每当在字符串中使用\(variable)
时,它都会使用要在字符串中显示的变量的字符串值。
答案 3 :(得分:0)
您无法通过编写
那样更改按钮标题的方式。UIButton.title = String(score)
这意味着您正在调用UIButton
类的静态方法,该方法的名称为title
。
如果要更改按钮的外观,可以通过以下方式进行操作:
第1步:通过ctrl +拖动来获取按钮的引用。
第2步:在IBAction
内,您需要写:
yourButton.setTitle("\(score)", for: .normal)
答案 4 :(得分:0)
我不确定您要做什么,但是如果您想更改单击按钮的标题,您可以这样做:
@IBAction func touched(_ sender: Any) {
score += 1
// check if the sender is UIButton
if let button = sender as? UIButton {
//change your button title
button.setTitle("\(scroe)", for: UIControlState.normal)
}
}