我有几个视图,我希望隐藏搜索栏,除非用户将其向下滚动以使用它。我使用此命令来实现此目的:
[self.tableView setContentOffset:CGPointMake(0, 44) animated:NO];
这样可以,但不是很理想;任何时候发生导致表视图重新加载的事情,都必须重新定位。
现在我有一个视图,我想完全隐藏用户的搜索栏,这意味着他们甚至无法向下滚动以获取它,但我想保持范围栏在桌子的顶部。所以基本上我想从视图的顶部滚动搜索栏并将其保留在那里,同时保持控件的范围栏部分可见。 setContentOffset不再为我做了,因为用户可以轻松撤消它。
我有什么方法可以忽略这一点吗?
提前致谢!
更新:我从未想过这一点,所以最终改变了我的设计。
答案 0 :(得分:1)
虽然可能有点晚了,但是当你说“任何时候发生导致表视图重新加载的事情时,都必须重新定位”,你是说每次你的UITableView
重新加载时它会滚动到它的顶部?这不是UITableView
的标准行为。
关于您UISearchBar
范围的问题的第二部分,我强烈建议您使用自己的UISearchBar
替换UISegmentedControl
(这是所有范围的UISearchBar
无论如何都是如此),因此用户不会因为屏幕外UISearchBar
没有做任何事情而感到困惑。