通过 UISearchBar 过滤后 UITableView 不滚动顶部
Posted
技术标签:
【中文标题】通过 UISearchBar 过滤后 UITableView 不滚动顶部【英文标题】:UITableView doesn't scroll top after filtering through UISearchBar 【发布时间】:2014-02-15 16:57:17 【问题描述】:我有一个 UISearchbar 和 UITableView。我在我创建的 tableview 中显示结果。
通过我在 UISearchbar 中键入的 NSString 过滤 tableview 后,我无法使 tableview 滚动到顶部。如果我在过滤后滚动到 tableview 上的另一个点并继续在搜索栏中输入,则 tableview 滚动仍然在同一点。我希望 tableview 滚动在顶部。
我试过这些:
[tableview scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
tableview.contentOffset=CGPointMake(0,0);
tableview.scrollsToTop=true;
我在
中调用过滤函数-(BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
和
- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchScope:(NSInteger)searchOption
我应该怎么做才能解决这个问题?
【问题讨论】:
【参考方案1】:我怀疑无论你从哪里调用“scrollRectToVisible:
”,你的“tableview
”都是空的。
试试这个:
if(tableview)
[tableview scrollRectToVisible:CGRectMake(0, 0, 1, 1) animated:YES];
tableview.contentOffset=CGPointMake(0,0);
tableview.scrollsToTop=true;
else
NSLog(@"tableview is null, I need to use a property for my tableview");
【讨论】:
Tableview 永远不会为空。以上是关于通过 UISearchBar 过滤后 UITableView 不滚动顶部的主要内容,如果未能解决你的问题,请参考以下文章