我有一个简单的按钮,每个UIControlState
都有两张图片。
我希望这个按钮作为一个控件和指示器,以便我可以按下它 - “激活”并再次按下“停用”,而其他一些功能可以使它关闭(“停用”)。
我的问题是如何将其状态从选定状态更改为未选择状态?
更改selected
属性不起作用:)
答案 0 :(得分:1)
您可以禁用该按钮,使其无法按下。
yourButton.enabled = NO;
当你想要它可以按下时,你可以启用它
yourButton.enabled = YES;
答案 1 :(得分:0)
最简单的方法是将按钮视为开关,并根据开关的开/关状态改变它的状态。例如,使用BOOL变量,在按钮触摸时获取其值为YES或NO,而根据它按钮获取其图像。
- (void) buttonTouched:(id)sender
{
switchOn = !switchOn;
UIImage *buttonImage = nil;
if (switchOn == YES)
{
buttonImage = [UIImage imageNamed:@"on.png"];
}
else
{
buttonImage = [UIImage imageNamed:@"off.png"];
}
[myButton setImage:buttonImage forState:UIControlStateNormal];
[myButton setImage:buttonImage forState:UIControlStateSelected];
}
如果您需要以编程方式设置“禁用”按钮:
- (void) setButtonDisabled
{
switchOn = YES; //calling buttonTouched: will turn it to NO
[self buttonTouched:nil];
}