我有几个 View ,我希望隐藏搜索栏,除非用户向下滚动它以使用它。我使用这个命令来实现这个:
[self.tableView setContentOffset:CGPointMake(0, 44) animated:NO];
这工作正常,但并不理想;任何时候发生导致 TableView 重新加载的事情时,它都必须重新定位。
现在我有一个 View ,我想对用户完全隐藏搜索栏,这意味着他们甚至无法向下滚动找到它,但是我想将范围栏保持在 table 的顶部。所以基本上我想将搜索栏从 View 顶部滚动并保持在那里,同时让控件的范围栏部分可见。 setContentOffset 不再为我做这件事,因为用户可以轻松撤消它。
有没有我忽略的方法?
提前致谢!
更新:我从来没有弄明白这一点,所以最终我改变了我的设计。
最佳答案
虽然可能有点晚了,当您说“任何时候发生导致 TableView 重新加载的事情时,它都必须重新定位”,您是在说每次 UITableView
重新加载它滚动到顶部?这不是 UITableView
的标准行为。
关于您关于 UISearchBar
范围的问题的第二部分,我强烈建议您将 UISearchBar
替换为您自己的 UISegmentedControl
(这就是 UISearchBar
的所有范围),这样用户就不会因为屏幕外的 UISearchBar
不执行任何操作而感到困惑.
关于iphone - 寻找一种更好的方法来隐藏 View 顶部的搜索栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6576880/