当搜索栏变为活动状态时,它会跳转。看动画GIF。
结果:http://postimg.org/image/66bdqqgvb/
在Stackoverflow上搜索解决方案我找到了以下设置:
self.edgesForExtendedLayout = UIRectEdgeNone;
结果:http://postimg.org/image/y5gf4bb9b/
跳转消失但现在搜索栏不再覆盖状态栏了。
更新
使窗口的背景颜色与搜索字段的颜色相同,使其看起来很好,尽管它有点像黑客。
答案 0 :(得分:1)
你应该
self.edgesForExtendedLayout = UIRectEdgeAll;
相反,但这会让你回到你的第一个状态。因此,我会查看可能导致此问题的其他操作,请参阅启动/解除搜索时您正在执行的操作的任何其他信息。您是否在主线程中执行其他后台操作或动画?
修改强>
这里有另一个建议,很少在动画上看起来像搜索栏移动与表视图分开。因此,请仔细检查您的搜索栏是否在表格视图中。
答案 1 :(得分:0)
这似乎是iOS 7中的一个错误。设置edgesForExtendedLayout = UIRectEdgeNone;
确实修复了它,但是在搜索栏上方有一个栏。我发现的最佳解决方案是让你的导航栏半透明。出于某种原因,只有当导航栏不透明时才会破坏动画。
self.navigationController.navigationBar.translucent = YES;