objective-c - 自迁移以来导航栏和表格 View 之间的黑条

标签 objective-c ios xcode ios6 xcode4.5

首先,我是法国人;对于英语错误,我很抱歉,我希望你能理解我的问题。我只从事 iOS 应用程序 3 个月,也许我还没有掌握所有 iOS 开发概念。

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

我做了一些研究,其他人也有同样的问题,但是解决他们问题的方法对我不起作用。 请参阅:Black bar between navigation bar and table view appears on iOS 6

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

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

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

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

Screenshot 1

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

Screenshot 2

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

Screenshot 3

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

Screenshot 4

最佳答案

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

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

在我的 viewDidLoad 中,我现在有这个:

[self.navigationController setNavigationBarHidden:YES]; 

[self.navigationController setNavigationBarHidden:NO]; 

关于objective-c - 自迁移以来导航栏和表格 View 之间的黑条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13158807/

相关文章:

ios - 是否可以为 iPhone 构建 Torrent 客户端应用程序?

objective-c - 如何删除 "implicit conversion loses integer precision: ' NSInteger'(又名 'long')到 'int' 的 100 条警告“我在更新到 arm64 后收到?

ios - 每天在特定时间重置特定值

ios - Fitbit OAuth2.0 token 请​​求(Swift 3)

ios - iOS 中缺少 GTMBase64

objective-c - 我如何理解 Cocoa 库类中的性能权衡?

ios - FIRStorageErrorDomain 代码=-13010

ios - NSData 为不同文件路径的同一文件返回 nil

ios - 从 subview 中引用包含 UIView 的内容?

objective-c - 使用来自异步 NSURLConnection 的数据填充 NSImage