我的UIViewController
里面有UITableView
和UISearchBar
。一旦搜索栏成为第一响应者,搜索栏和桌面视图之间就会有一个小的差距。
当UISearchBar
是UIViewController
视图的子视图而不是UITableView
的子视图时,没有差距。
显然,这种方法的一个问题是搜索栏贴在顶部并且不会与其他单元格一起滚动,这是不希望的。
有什么想法吗?
修改
两个第一张图片对应于UISearchBar
是UITableView
的孩子,其中发生了差距。
最后两张图片对应于UISearchBar
视图中的UIViewController
视图的子项,在这种情况下,没有间隙。
答案 0 :(得分:6)
将UINavigationBar
半透明属性设置为NO
时出现差距。将其设置为YES
即可解决问题。动画再次平滑,UISearchBar
和UITableView
之间没有差距。我无法解释原因,而且它似乎是Apple方面的一个错误,因为它很容易通过创建示例项目来重现。
答案 1 :(得分:0)
如果没有看到代码,有点困难,但也许尝试将uisearchbar设置为uitableview的标题视图,而不是将其添加为子视图。
答案 2 :(得分:0)
我怀疑它可能与UITableView
并使用UITableViewController
这一事实有关,您可以拉下整个表格视图和搜索栏以显示背后的空间,背景。
当您将UISearchBar
和UITableView
插入UIView
时,“下拉”用户界面不会被继承(因为它对UITableViewController
是唯一的)所以“拉下”空间的“暗示”并不存在。
要检查此问题并希望解决您的问题,请通过实施UITableView
属性setBackgroundView
和setBackgroundColor
来阅读我对之前SO question的回答。