iOS - ObjectiveC:使用pull to Search重新加载UITableView

时间:2014-10-23 20:51:24

标签: ios objective-c uitableview reload searchbar

我有一个UITableView,其顶部(标题)包含自定义search bar。在viewDidLoad我设置mytableView.content.offset.y = mySearchBar.frame.size.height隐藏搜索栏。我还有一个重装按钮,重新加载整个视图。我的问题是每次重新加载时,tableView会在content.offset发生变化时“颠簸”。我需要重新加载,而不仅仅是更新tableView单元格。任何想法如何使用隐藏的搜索栏重新加载我的tableView并管理“碰撞”问题?谢谢!

查看层次结构

  • 的tableView
    • 搜索栏
    • 细胞

1 个答案:

答案 0 :(得分:0)

我能够通过将两个视图放在UITableView上来实现类似的功能。

RefreshView *view = [RefreshView refreshView];
view.frame = CGRectMake(0.0f, 0.0f - self.tableView.bounds.size.height, self.view.frame.size.width, self.tableView.bounds.size.height);
[self.tableView addSubview:view];

加载开始时我做:

UIEdgeInsets inset = scrollView.contentInset;
inset.top = 110.0f; //height of my refresh view
scrollView.contentInset = inset;

完成后:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.3];
UIEdgeInsets inset = scrollView.contentInset;
inset.top = 0.0f;
scrollView.contentInset = inset;
[UIView commitAnimations];

这样,即使table为空,视图的表现也很好,并始终遵循contentOffset。

相关问题