在iOS 7中切换视图时,搜索栏会部分消失

时间:2014-01-07 20:23:39

标签: ios ios7 uisearchbar uisearchdisplaycontroller

我们的应用程序中有一个由UISearchDisplayController支持的UISearchBar。使用隐藏在标题下方的搜索栏更改屏幕会导致用户返回时该部分条形图消失,从而显示搜索栏的背景。在这里,我将它设置为红色,这表明搜索框的大小和位置仍然正确。

Start state

Scroll up so part of the bar is hidden

Move to a new view, then back

Scroll down

点击栏内的任何位置都会按预期显示键盘。但是,一旦条形移动到屏幕顶部,隐藏的部分就会停止响应输入。这会阻止文本选择并点击“取消”按钮的顶部。

Cancel button

我已经在this question中尝试了所有答案但没有成功,所以我认为我们的问题不同,尽管可能相关。有谁知道发生了什么,以及我们如何解决它?感谢您的投入。

1 个答案:

答案 0 :(得分:2)

如果您在iOS 7.0版本上运行,那么您需要设置iOS 7.0中新引入的以下属性,如下所示

self.edgesForExtendedLayout = UIRectEdgeNone;

默认情况下,edgesForExtendedLayout属性设置为UIRectEdgeAll,这意味着视图控制器默认使用全屏布局。并且您的搜索栏似乎在导航栏后面显示,从导航栏偏移开始。