【发布时间】:2014-09-19 18:11:27
【问题描述】:
问题
我也在尝试制作一个 custom 搜索文本字段,添加到 UITableViewController,始终保持在页面顶部。 像这样:
一切正常,但是当我点击搜索文本字段成为FirstResponder 时,tableView 奇怪地向下滚动。
我发现这种情况只有在我手动设置 UITableView 的 contentInset 时发生。 (这样 tableview 部分标题就不会隐藏在搜索视图后面)
我是如何构建它的
图层:
- 表格视图
- UIView(作为 UITableView.tableViewHeaderView)
- UIView(当用户滚动 tableView 时更新框架)
- UITextField(用于搜索输入)
用户滚动时修复搜索视图框架的代码:
var rect = frame
rect.origin.y = scrollView.contentOffset.y + 64
frame = rect
我可能做的一切都很愚蠢,但我想让视图保持在顶部,因为用户会比其他应用更多地使用搜索。有什么想法吗?
我的应用需要 iOS 8,因此我无法在 iOS 7 上进行测试。如果有帮助,我可以进行屏幕录制。
更新 我创建了一个示例项目,其中包含我在主项目中使用的相同对象。 https://www.dropbox.com/s/qdlx0milebbuf3p/Search%20bug%20Example.zip?dl=0
【问题讨论】:
-
只是一个疑问,如果您不想滚动,为什么要在tableView中添加searchBar?
-
我需要使用 UITableViewController 来获得额外的功能,比如 UIRefreshControl 等等。
标签: ios uitableview ios8 xcode6