我有一个控制UIViewControllers堆栈的UINavigationController。当我将某个UITableViewController推入堆栈时,我发现它的UITableView的顶行隐藏在UINavigationBar后面。
这个问题只发生在iPad上,而不是iPhone上。我在两者上使用相同的堆栈。
此外,它只发生在我的一个控制器堆栈上。我在由其他两个UINavigationControllers控制的堆栈上推送相同的UITableViewController子类,没有问题。
问题情况的一个不同之处是UITableViewController是从显示由UISearchDisplayController生成的结果表的UIViewController推送的。我不明白为什么这应该重要(并且,正如我所说,在iPhone上工作正常),但也许它很重要,因为当UISearchBar成为第一响应者时,UISearchDisplayController会隐藏导航栏。
此问题会影响iPad设备和iPad模拟器。我使用的是典型的UISplitViewController设计,左侧窗格中有这些堆栈。在纵向时,问题仍出现在popover中。
答案 0 :(得分:0)
将iphone应用迁移到通用应用后,我遇到了同样的问题。这就是为我解决问题的原因。打开MainWindow.xib并按住dbl单击窗口对象。如果它以iphone大小打开,则需要升级你的笔尖。选择文档窗口,然后选择菜单项File>创建iPad版本。使用名称MainWindow-iPad.xib保存此笔尖。删除原始MainWindow.xib并添加此项。完成这些步骤后,问题就消失了,iPad和iPad都可以正常使用。 iPhone。
干杯,哈利