如何检查UIButton图像条件



我在表视图单元格中有三个按钮图像,我想检查它们之间的条件。当我点击按钮1时,意味着按钮3不应该工作。单击"下一个条件"按钮3意味着按钮1不应工作。按钮2可以在所有条件下进行选择。

ButtonImageSelected = [UIImage imageNamed:@"lblue.png"];
ButtonImage = [UIImage imageNamed:@"l.png"];
button1 = [UIButton buttonWithType:UIButtonTypeCustom];
button1.frame = CGRectMake(80, 27, 36, 36);
[button1 setBackgroundImage:ButtonImage forState:UIControlStateNormal];
button1.tag = 1;
[button1 setBackgroundImage:ButtonImageSelected forState:UIControlStateSelected];
[cell.contentView addSubview:button1];
ButtonImageSelected1 = [UIImage imageNamed:@"eblue.png"];
ButtonImage1 = [UIImage imageNamed:@"e.png"];
button2 = [UIButton buttonWithType:UIButtonTypeCustom];
button2.frame = CGRectMake(160, 27, 36, 36);
button2.tag = 2;
[button2 setBackgroundImage:ButtonImage1 forState:UIControlStateNormal];
[button2 setBackgroundImage:ButtonImageSelected1 forState:UIControlStateSelected];
button2.userInteractionEnabled = YES;
[button2 addTarget:self action:@selector(select_id:)forControlEvents:UIControlEventTouchDown];
[cell.contentView addSubview:button2];
ButtonImageSelected2 = [UIImage imageNamed:@"vblue.png"];
ButtonImage2 = [UIImage imageNamed:@"v.png"];
button3 = [UIButton buttonWithType:UIButtonTypeCustom];
button3.frame = CGRectMake(240, 27, 36, 36);
button3.tag = 3;
[button3 setBackgroundImage:ButtonImage2 forState:UIControlStateNormal];
[button3 setBackgroundImage:ButtonImageSelected2 forState:UIControlStateSelected];
[button3 addTarget:self action:@selector(select_id:)forControlEvents:UIControlEventTouchDown];
[cell.contentView addSubview:button3];
-(void)select_id:(UIButton *) tempBtn {
    if (tempBtn.tag == 1) {
        [tempBtn setSelected:YES];
        [button1 setBackgroundImage:ButtonImageSelected forState:UIControlStateSelected];
        [button2 setBackgroundImage:ButtonImageSelected1 forState:UIControlStateSelected];
        [button3 setBackgroundImage:ButtonImage2 forState:UIControlStateNormal];
        [tempBtn setSelected:! tempBtn.selected];
    }
 }

根据以上代码。。。。。

你没有设置按钮1的目标。。设置按钮1的目标,然后尝试

希望它能起作用。。。

您需要为所有3个选择器添加一个选择器,您可以添加一个为所有三个选择器中使用的所有公共进程调用的附加方法。在这些选择器中,您可以放置button.enabled = true;button.enabled = false;

例如,这里是按钮1选择器。

-(void)button1Selector: (id)selector {
    button3.enabled = false;
    [self doOtherStuff];
}

最新更新