迁移后,在导航栏和表格视图之间出现黑色条纹

3
首先,我是法国人,所以请原谅我的英语错误,希望您能理解我的问题。我只在iOS应用上工作了3个月,也许我还没有掌握所有的iOS开发概念。
我的应用在使用iOS 5的设备和模拟器上正常运行,但是当我在iOS6的设备或模拟器上尝试时,出现了奇怪的情况。在导航栏和我的表视图之间出现了一个黑色条。
我进行了一些研究,其他人也有同样的问题,但是解决他们问题的方法对我没有用。请参见:在iOS 6上导航栏和表视图之间出现黑色条 自从我升级到Xcode 4.5和iOS6 SDK以来,我就一直面临这个问题。请看以下模拟器截图,首先是运行iOS6,然后是iOS5。奇怪的是,在应用程序启动后,黑色条就出现了。如果我更改选项卡(显然是切换视图控制器),那么黑色条就不再存在。
我试图通过切换我的tabBar元素来更改第一个视图控制器,但即使我把名为“Tendances”的选项卡放在第一位,仍然出现相同的情况。黑色条在此视图上,但其他视图上没有。
我在iPhone 3模拟器上进行了这些截图,但使用iPhone4或5模拟器或实际设备都无法解决我的问题。 截图1:我在iOS6模拟器上启动应用程序。您可以看到黑色条位于导航栏和tableView标题之间。

Screenshot 1

截图2: 我仍在同一模拟器(iOS6)上运行同一应用程序,我决定使用tabBarController切换选项卡,黑色的条形菜单消失了。

Screenshot 2

截图3: 我回到第一个标签页,然后就没有黑色的条子了...

Screenshot 3

截图4: 我关闭了运行iOS6的模拟器,打开了运行iOS5的模拟器。我启动了应用程序,正如您所看到的,这里没有黑条。

Screenshot 4


自动调整大小掩码将对您有所帮助。请查看此线程 - Praveen S
不仅仅是在iPhone5分辨率上,而是在运行iOS6的每个设备上。 - Astral Walker
我也遇到了这个问题,并在这里找到了答案:http://stackoverflow.com/questions/12547570/black-bar-between-navigation-bar-and-table-view-appears-on-ios-6。 - Sandra Leclerc
2个回答

2
我遇到了完全相同的问题:第一次启动应用程序/此tableviewcontroller(我的是fetchedresultscontroller,只是为了更清晰),导航栏会缩小并在导航栏和视图控制器项目之间出现黑色条。如果我切换到另一个视图控制器(不是tableview控制器)并回来,该条将消失,nav bar恢复正常大小。我已花费了最后3个小时寻找答案,并尝试了所有可用方法,但对我都没有用。

在我的情况下奏效的是一种非常奇怪的解决方案:使导航栏不可见,然后再次可见。因此,它似乎实际上会加载两次,第一次是带有黑色条的,第二次则恢复正常。

现在,我的viewDidLoad中有以下内容:

[self.navigationController setNavigationBarHidden:YES]; 

[self.navigationController setNavigationBarHidden:NO]; 

0

我把以下代码放在了 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中:[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO];这个方法可以让状态栏消失,但是我并不想禁用状态栏。另外,Xcode告诉我这个方法自iOS 3.2以来就已经被弃用了:/ 无论如何,谢谢你的帮助 :) - Astral Walker
@JulienFortin 噢,我是指那篇帖子的答案 :) 你尝试过这两个选项之一吗:1) [self.view setFrame: [[UIScreen mainScreen] bounds]]; 和/或 2) [viewController.view setFrame: [viewController.view bounds]]; 完全没有必要隐藏状态栏。 - Koray

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接