我有一个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
我该怎么做才能解决这个问题?
答案 0 :(得分:0)
我怀疑无论你在哪里打电话给“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");
}