【发布时间】:2016-09-22 09:34:07
【问题描述】:
我有一个按钮,我想在点击(选择)时更改背景颜色和文本,并在再次点击(取消选择)时将其恢复到原始状态。我可以选择它,但我无法取消选择它。我对 SO 进行了研究,但在 if-else 部分的代码中出现错误
@IBAction func btn1Pressed(_ sender: AnyObject) {
sender.setTitleColor(UIColor.blue, for: UIControlState.normal)
(sender as! UIButton).backgroundColor = UIColor.green
if sender.isSelected {
sender.selected = false
}
else {
sender.selected = true
}
}
【问题讨论】:
-
试试改成
(sender as! UIButton).selected = !(sender as! UIButton).selected -
它没有恢复到原来的状态,但是有一个蓝色的高亮
-
您的默认背景色广告文字是什么?在您的代码中,您只需将按钮属性更改为您选择的状态,而不是恢复
-
默认背景颜色为蓝色,文字为绿色