Я пытаюсь понять, как сделать что-то, возможно, немного нестандартное. У меня есть контроллер представления (UIViewController), который имеет 1 UITextField и 3 UIButton. Я использую кнопки UIB в основном как переключатели; только 1 может быть выбран за один раз. Итак, у каждого есть:
[myButton1 addTarget:self action:@selector(buttonPushed:)
forControlEvents:UIControlEventTouchUpInside];
И я делаю это для переключения между кнопками:
- (void) buttonPushed:(id)sender
{
myButton1.selected = NO;
myButton2.selected = NO;
myButton3.selected = NO;
if (sender == myButton1) {
myButton1.selected = YES;
}
else if (sender == myButton2) {
myButton2.selected = YES;
}
else if (sender == myButton3) {
myButton3.selected = YES;
}
}
Теперь дело в том, что я все еще хочу, чтобы кнопки можно было выбирать, даже если клавиатура текстового поля поднята (кнопки и текстовое поле видны, когда клавиатура отображается). Но поскольку текстовое поле имеет первый респондент, касания кнопок не распознаются (никогда не достигает целевого метода buttonPressed). Я не хочу, чтобы пользователь отказывался от клавиатуры, просто чтобы выбрать кнопку.
Как я могу это сделать? Спасибо!