У меня есть контроллер с панелью поиска вверху, и когда пользователь печатает, результаты автозаполнения поиска отображаются под ним в UIScrollView.
Проблема:
Результаты отображаются, но пользователь не может прокрутить эти результаты. Scrollview заморожен. Единственный способ прокрутки - нажать «Отмена» на панели поиска. Нажатие «Поиск» скрывает клавиатуру, но даже тогда прокрутка останавливается.
Желаемая:
Когда пользователь печатает, результаты поиска автоматически заполняются. В любой момент пользователь может прокрутить через эти результаты. Им не нужно нажимать кнопку Отмена, чтобы прокрутить.
На экране больше результатов, чем уместится, поэтому проблема не в том, что контент лишь немного больше экрана.
Ничего особенного в CancelButtonClicked или SearchButtonClicked:
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
searchBar.text = @"";
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar{
[searchBar resignFirstResponder];
[NSThread detachNewThreadSelector:@selector(fetchSearchResult:) toTarget:self withObject:searchBar.text];
}
- (void)searchBar:(UISearchBar *)searchBar
textDidChange:(NSString *)searchText {
if([searchBar.text length] >=3){
[mySpinner startAnimating];
[NSThread detachNewThreadSelector:@selector(fetchSearchResult:) toTarget:self withObject:searchBar.text];
}
}
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar {
self.searchDisplayController.searchResultsTableView.hidden = YES;
// This occurs when user starts entering text
// We want to keep the background area dark
}