Iphone UITableView中的顶部单元格隐藏在UINavigationBar后面

Iphone UITableView中的顶部单元格隐藏在UINavigationBar后面,iphone,ipad,Iphone,Ipad,我有一个UINavigationController控制UIViewController的堆栈。当我将某个UITableViewController推到堆栈上时,我发现其UITableView的顶行隐藏在UINavigationBar后面 这个问题只发生在iPad上,而不是iPhone上。我在两者上使用相同的堆栈 而且它只发生在我的一个控制器堆栈上。我在由另外两个UINavigationController控制的堆栈上推送相同的UITableViewController子类,没有问题 问题案例中

我有一个UINavigationController控制UIViewController的堆栈。当我将某个UITableViewController推到堆栈上时,我发现其UITableView的顶行隐藏在UINavigationBar后面

这个问题只发生在iPad上,而不是iPhone上。我在两者上使用相同的堆栈

而且它只发生在我的一个控制器堆栈上。我在由另外两个UINavigationController控制的堆栈上推送相同的UITableViewController子类,没有问题

问题案例中的一个区别是UITableViewController是从显示由UISearchDisplayController生成的结果表的UIViewController中推送的。我不明白这有什么关系,正如我所说的,在iPhone上它工作得很好,但考虑到当UISearchBar成为第一响应者时,UISearchDisplayController隐藏了导航栏,这可能很重要


这个问题影响到iPad设备和iPad模拟器。我使用的是典型的UISplitViewController设计,左侧窗格中有这些堆栈。这个问题仍然出现在人像模式下的popover中。

将iphone应用程序迁移到通用应用程序后,我也遇到了同样的问题。以下是我解决问题的方法。打开MainWindow.xib并单击窗口对象。如果以iphone大小打开,您需要升级nib。选择文档窗口并选择菜单项文件>创建iPad版本。使用名称MainWindow-iPad.xib保存此nib。删除原来的MainWindow.xib并添加此文件。完成这些步骤后,问题消失了,对我来说在iPad和iPhone上都很好


干杯,哈利

谢谢你。我应该想到这一点。已升级主窗口xib,但未升级此特定视图xib。