【发布时间】:2011-11-07 18:23:29
【问题描述】:
我知道以前有人问过这个问题,但我还没有找到真正的解决方案。我有一个UITableView 和一个UISearchBar 作为它的tableHeaderView. 每当出现范围按钮时,它们都会覆盖UITableView 的第一行。
我曾尝试使用UITableView.contentOffset 将UITableView 偏移范围按钮的高度,这一直有效,直到用户点击UITableView 或滚动它,此时UITableView 跳回其原始偏移量。
我能做的最好的事情是将UISearchBar 设置为视图中的单独项目,并在用户点击搜索按钮时动态调整UITableView 的大小以显示或隐藏它。唯一的问题是没有动画,所以过渡很尖锐。
更新:我通过实现UISearchDisplayController 解决了这个问题,因为这是最干净、最容易使用的解决方案。 UISearchDisplayController 自动显示/隐藏范围按钮并相应地向下移动UITableView。起初我没有这样做,因为我希望UITableView 保持可见而不是最初被UISearchDisplayController 遮住,但是我开始意识到停电不会妨碍任何功能;如果用户想继续查看 UITableView 的原样,他就不会发起搜索。
【问题讨论】:
标签: iphone uitableview button scope uisearchbar