Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 如何在按下另一个按钮时取消选择选定的UIButton_Objective C_Uibutton - Fatal编程技术网

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

Objective c 如何在按下另一个按钮时取消选择选定的UIButton,objective-c,uibutton,Objective C,Uibutton,我有一个代码,我在其中添加按钮滚动查看使用for循环。当我选择一个按钮时,按钮的标题颜色会因选中uicontrol状态而更改。单击“下一步”按钮时,先前选择的按钮的标题颜色保持不变/保留不变。如何恢复初始选定按钮的正常状态 你需要这样的东西: [button setSelected:NO] - (void)changeButtonState:(UIButton *)button { for (UIButton * button in [self buttonContainer]) {

我有一个代码,我在其中添加按钮滚动查看使用for循环。当我选择一个按钮时,按钮的标题颜色会因选中uicontrol状态而更改。单击“下一步”按钮时,先前选择的按钮的标题颜色保持不变/保留不变。如何恢复初始选定按钮的正常状态

你需要这样的东西:

[button setSelected:NO]
- (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

}

在一个数组中按住所有按钮:

@property (nonatomic, strong) NSArray * buttonContainer;
在控制器中声明如下方法:

[button setSelected:NO]
- (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

}
并在按钮操作方法中调用它,如下所示:

[button setSelected:NO]
- (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

}

在界面中创建属性按钮。在click方法中编写此代码

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

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

    //rest code goes here...
}

无需添加for循环。只需跟踪以前选择的按钮一些答案对您有帮助吗?那你为什么不接受呢?