2015-02-09 11 views
0

У меня есть три изображения кнопок в ячейке таблицы, я хотел бы проверить состояние между ними. Когда я нажимаю кнопку 1, значит, кнопка 3 не должна работать. Кнопка следующего действия 3 нажата означает, что кнопка 1 не должна работать. кнопка 2 может выбирать во всех условиях.Как проверить условия изображения UIButton

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]; 
    } 
} 
+0

Пожалуйста, сделайте вопрос понятным. Ваше кодирование также не в состоянии понять. Какое ваше требование? –

+0

Я хочу проверить условия между тремя кнопками. –

+0

в методе «select_id» отметьте тег кнопки и отключите кнопки, которые вы не хотите выполнять. –

ответ

0

Из приведенного выше кода .....

у не ставили цель кнопки 1 .. установить цель button1 то попробуйте

надеюсь, что он будет работать ...

+0

Я пропустил, чтобы добавить в этот стек, но в моем кодировании я также установил цель для кнопки 1. –

0

Вам нужно добавить селектор для всех 3, вы можете добавить дополнительный метод, который вызывается для всех обычных процессов, которые вы будете использовать во всех трех селекторах. В этих селекторах вы либо ставите button.enabled = true;, либо button.enabled = false;

В качестве примера, вот селектор кнопки 1.

-(void)button1Selector: (id)selector { 
    button3.enabled = false; 
    [self doOtherStuff]; 
} 
Смежные вопросы