Привет, ребята, поэтому у меня есть эта панель поиска и множество кнопок под ней. Поэтому, когда вы нажимаете на строку поиска, появляется клавиатура, однако я хочу, чтобы пользователь мог щелкнуть в любом месте ниже панели поиска и над клавиатурой, чтобы выйти из режима поиска. Я немного очистил SO и нашел решение, которое предложило мне создать невидимую кнопку, которая перехватывает события касания, которые я могу использовать, чтобы оставить статус первого респондента в строке поиска. И я могу просто скрыть / отключить кнопку, когда она мне не нужна, чтобы кнопки под ней можно было нажимать правильно? Неправильно. setHidden
и setEnabled:
не делают трюк. Вот соответствующий код:
//touch event on button outsideSearchBarButton which is invisible
- (IBAction)selectOutsideSearchBar:(id)sender {
NSLog(@"Selected outside search bar");
[searchBar resignFirstResponder];
[outsideSearchBarButton setEnabled:NO];
[outsideSearchBarButton setHidden:YES];
}
- (void)searchBarTextDidBeginEditing:(UISearchBar *)aSearchBar {
NSLog(@"searchbarTextDidBeginEditing");
[outsideSearchBarButton setHidden:NO];
[outsideSearchBarButton setEnabled:YES];
}
Настройка кнопки на отключение или скрытие через nib-файл мне совсем не помогает. Либо кнопка никогда не существует (я не могу щелкнуть между строкой поиска и клавиатурой, и клавиатура исчезла), либо всегда существует (я не могу нажать ни одну из кнопок под этой невидимой кнопкой). Любая помощь приветствуется. Заранее спасибо!