2

当搜索栏变为活动状态时,它会跳转。请参阅动画 GIF。

结果: http: //postimg.org/image/66bdqqgvb/

在 Stackoverflow 上搜索解决方案时,我发现了以下设置:

    self.edgesForExtendedLayout = UIRectEdgeNone;

结果: http: //postimg.org/image/y5gf4bb9b/

跳转消失了,但现在搜索栏不再覆盖状态栏。

更新

使窗口的背景颜色与搜索字段相同的颜色使它看起来很好,尽管它是一种 hack。

4

2 回答 2

1

你应该有

self.edgesForExtendedLayout = UIRectEdgeAll;

相反,但这只会让你回到你的第一个状态。因此,我会四处寻找可能导致此问题的其他操作,并在启动/关闭搜索时参考您正在执行的操作的任何其他信息。您是否在主线程中执行额外的后台操作或动画?

编辑

这里有另一个建议,很少在动画上看起来搜索栏会与您的表格视图分开。因此,请仔细检查您的搜索栏是否在您的表格视图中。

于 2014-01-09T14:50:18.987 回答
0

这似乎是 iOS 7 中的一个错误。设置edgesForExtendedLayout = UIRectEdgeNone;确实修复了它,但是您的搜索栏上方有一个栏。我发现的最佳解决方案是让您的导航栏半透明。由于某种原因,动画仅在导航栏不透明时才会中断。

self.navigationController.navigationBar.translucent = YES;
于 2014-04-02T20:31:49.180 回答