将UIButton更改为关闭

时间:2012-12-23 14:56:06

标签: ios xcode

我有一个简单的按钮,每个UIControlState都有两张图片。 我希望这个按钮作为一个控件和指示器,以便我可以按下它 - “激活”并再次按下“停用”,而其他一些功能可以使它关闭(“停用”)。 我的问题是如何将其状态从选定状态更改为未选择状态? 更改selected属性不起作用:)

2 个答案:

答案 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];
}