3

首先,我是法国人;对不起英文错误,我希望你能理解我的问题。我只在 iOS 应用程序上工作了 3 个月,也许我还没有掌握所有的 iOS 开发概念。

我有一个应用程序在使用 iOS 5 的设备和模拟器上正确运行,但是当我在 iOS6 设备或模拟器上尝试时,我遇到了一个奇怪的情况。导航栏和我的表格视图之间的屏幕顶部会出现一个黑条。

我做了一些研究,其他人也有同样的问题,但是解决他们问题的方法对我不起作用。请参阅:导航栏和表格视图之间的黑条出现在 iOS 6 上

自从我将 xcode 版本升级到 4.5 和 iOS6 SDK 后,我就遇到了这个问题。看下面的模拟器截图,先运行iOS6再运行iOS5。奇怪的是,黑条是在应用程序启动后出现的。如果我更改了选项卡(显然视图控制器已切换),则黑条不再存在。

我尝试通过切换 tabBar 的元素来更改第一个 viewController,但即使我将名为“Tendances”的选项卡放在第一位,也会出现相同的情况。黑条在这个视图上,但不在其他视图上。

我在 iphone 3 模拟器上制作了这些屏幕截图,但使用 iphone4 或 5 模拟器或真实设备并没有解决我的问题。

屏幕截图 1:我在 iOS6 模拟器上启动应用程序。您可能会看到黑条位于导航栏和 tableView 标题之间。

截图 1

屏幕截图 2:我仍在同一个模拟(iOS6)上运行同一个应用程序,我决定使用 tabBarController 切换选项卡。黑条消失。

截图 2

屏幕截图 3:我回到第一个选项卡,然后没有黑条......

截图 3

屏幕截图 4:我关闭了运行 iOS6 的模拟器以换取另一个运行 iOS5。然后我启动了该应用程序,您可能会看到没有黑条。

截图 4

4

2 回答 2

2

我遇到了完全相同的问题:当第一次启动应用程序/这个 tableviewcontroller 时(我的是一个 fetchedresultscontroller,只是为了更清楚),导航栏的高度会缩小,并且导航栏和 viewcontroller 的项目之间会出现一个黑条. 如果我切换到不同的视图控制器(不是 tableview 的)并返回,该栏将消失,导航栏恢复正常大小。我在过去的 3 个小时里一直在寻找答案,只是尝试了一切,但对我没有任何帮助。

在我的案例中起作用的是一个非常奇怪的解决方案:使导航栏不可见,然后再次可见。所以看起来这实际上加载了两次,第一次是黑条,第二次是恢复正常。

在我的 viewDidLoad 我现在有这个:

[self.navigationController setNavigationBarHidden:YES]; 

[self.navigationController setNavigationBarHidden:NO]; 
于 2013-06-04T19:13:56.600 回答
0

试试这个解决方案:如何在 setStatusBarHidden:Yes 之后设置顶部位置 = 0?

我曾经遇到过同样的问题,在很多 SO 页面上都苦苦挣扎,但这是最终的解决方案。

于 2012-10-31T13:17:28.703 回答