0
我有一个控制器,顶部有一个搜索栏,当用户输入时,在UIScrollView中显示自动完成的搜索结果。当搜索栏在使用时,UIScrollview被冻结
问题: 结果显示,但用户无法滚动这些结果。滚动视图被冻结。滚动的唯一方法是在搜索栏中按“取消”。点击“搜索”可隐藏键盘,但即使如此,滚动视图也会被冻结。
理想: 随着用户的输入,搜索结果自动完成。在任何给定的时间,用户可以通过滚动这些结果。他们不应该为了滚动而击中取消。
还有更多的结果比将适合在屏幕上,所以这是不是内容暂时只比屏幕稍大的问题。
没什么特别的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
}