我UIButton
用 +buttonWithType:
我需要弄清楚的是如何手动更改按钮状态。有时我需要将其设置为“禁用”。
我通读了UIButton
文档,但似乎找不到任何有关手动设置按钮状态的信息。
任何想法将不胜感激。
我UIButton
用 +buttonWithType:
我需要弄清楚的是如何手动更改按钮状态。有时我需要将其设置为“禁用”。
我通读了UIButton
文档,但似乎找不到任何有关手动设置按钮状态的信息。
任何想法将不胜感激。
你试过了button.enabled = NO;
吗?
斯威夫特 5.0
button.isEnabled = false
还有一些国家:
button.highlighted = NO;
button.selected = NO;
目标 C:
button.selected = Yes;
button.highlighted = NO;
button.enabled = Yes;
斯威夫特 4:
button.isSelected = true
button.isEnabled = true
你也可以使用:(swift 4)
if (button.state == .selected) {
//do something
}
您可以手动设置 UIButton 的状态。
UIButton *btnCheck=[UIButton buttonWithType:UIButtonTypeCustom];
if(btncheck isselected])
{
btncheck.selected=FALSE;
}
else
{
btncheck.selected=TRUE;
}
您可以根据您的要求对 UIButton 进行操作,例如在选择 UIButton 和未选择 UIButton 时执行一些操作。
希望对你有帮助....
对于 Swift 3,您可以使用
button.isSelected = true
对于到达这里希望更改按钮“状态”(而不是“启用”)的任何人。Stephen 是正确的“这个属性是只读的——没有对应的 setter 方法。”
您真正要设置的是按钮单元格的状态。
[[myNSButtonOutlet cell] setState: NSOnState]; //Options NSOnState, NSOffState, NSMixedState
为了适应在选择按钮时设置不同按钮外观的需要,请设置isSelected = true
.
UIButton
以下是使用问答游戏环境设置状态并根据该状态更改外观的示例:
if sender.titleLabel?.text == correctAnswer {
sender.isSelected = true
// Set title color and image based on 'selected' state.
sender.setTitleColor(.systemBlue, for: .selected)
sender.setImage(Utilities.sharedInstance.returnAnswerButtonImage(for: .correctlyAnswered).withRenderingMode(.alwaysOriginal), for: .selected)
sender.backgroundColor = .white
sender.tintColor = .systemBlue
// moveToNextQuestion()
} else {
sender.isSelected = true
sender.setTitleColor(.systemBlue, for: .selected)
sender.setImage(Utilities.sharedInstance.returnAnswerButtonImage(for: .incorrectlyAnswered).withRenderingMode(.alwaysOriginal), for: .selected)
sender.backgroundColor = .red
sender.tintColor = .systemBlue
}