如何在按下另一个按钮时取消选择所选的UIButton

时间:2014-03-20 13:30:15

标签: objective-c uibutton

我有一个代码,我在其中使用for循环添加按钮以滚动视图。当我选择一个按钮时,按钮的titlecolor会因uicontrolstate选择而改变。当我单击下一个按钮时,先前所选按钮的标题颜色保持不变/保留。如何恢复初始选择按钮的正常状态?

3 个答案:

答案 0 :(得分:1)

在界面中创建属性prevButton。在您的点击方法中编写此代码

-(void)butonClick:(UIButton *)sender {

    if(prevButton) {
        [prevButton setSelected:NO];
    }     
    prevButton = sender;

    //rest code goes here...
}

答案 1 :(得分:0)

你需要这样的东西:

[button setSelected:NO]

答案 2 :(得分:-1)

按住数组中的所有按钮:

@property (nonatomic, strong) NSArray * buttonContainer;

在控制器中声明一个方法,如下所示:

- (void)changeButtonState:(UIButton *)button {

    for (UIButton * button in [self buttonContainer]) {

        [button setSelected:NO];

    }

    [button setSelected:YES];

}

并按照您的按钮操作方法调用它:

- (void)someButtonAction:(UIButton *)sender {

    [self changeButtonState:sender];

    // Rest of your action

}