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