通过UISearchBar过滤后,UITableView不会滚动顶部

时间:2014-02-15 16:57:17

标签: objective-c uitableview ios7 scroll

我有一个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 个答案:

答案 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");
}