我正在制作通用应用程序,使用故事板,并且我已将UISearchBar
和UISearchDisplayController
添加到我的某个表格视图中。我把它全部吸引住了,并且可以很好地搜索。问题是当我将新的视图控制器推到导航堆栈上时。在iPhone上,这很好,但在iPad上,它会导致推送的视图控制器在导航栏下方偏移(我不得不手动让导航栏重新出现,以便您可以返回)。iPad桌面视图上的UISearchBar在导航控制器栏下消失
然后,当你浏览回哪里搜索正在发生的原始表视图,搜索仍然活跃,但UISearchBar
隐时现的导航栏后面,意思是有没有办法消除它,但不删除查询。这也意味着它不再可用,因为你不能回到它。
可能最好的说明使用一些截图。
下面是它的外观,当你第一次打开实现代码如下:
然后做搜索是罚款:
点击进入到下一个屏幕,我们可以看问题:
然后回原来的屏幕上,还在做搜索,但没有搜索框:
然后,如果我删除一切从搜索框,并摆脱了叠加的,我可以看到当我向上滚动表格视图时的搜索框,但无法达到它。尽管如此,我无法获得可靠的屏幕截图。
我到处寻找解决方案,但一直没有找到。我已经尝试在viewDidAppear
方法中调用[self setNeedsDisplay]
和[self setNeedsLayout]
,但这似乎没有效果。如果我改变设备的方向,它似乎会纠正自己,我试图通过调用这些方法来复制它在那种情况下会做的事情。
iPad的故事板的结构是:SplitViewController
- >导航器 - >UITabBarController
- >UITableViewController
(含UISearchBar
etc.f) - >UITableViewController
我有类似的问题,固定通过改变导航栏从半透明到不透明,突然间他开始工作 - 这可能是一个IOS 7的事情。 – 2013-12-12 21:51:46
Hi Rob。我有同样的问题,但不明白你在这里说什么。我该如何解决? – Lucas 2014-03-30 14:00:37