我用 Xcode 4 开始了一个项目,今天我将我的 Xcode 更新为 5。在 iOS7 模拟器中运行相同的项目发现了一些有趣(也令人沮丧)的问题。
所以我的应用程序有一个用户可以点击的侧边栏,并且根据他们点击的按钮,我将使用此代码实例化一个新的 VC
YMGeneralInfoTableViewController *generalInfoTableVC = [self.storyboard instantiateViewControllerWithIdentifier:@"generalInfoTableVC"];
然后使用此代码将此新 VC 推送到导航堆栈
[self.navigationController pushViewController:generalInfoTableVC animated:YES];
在 iOS 6 中一切正常。然而,在 iOS7 中,导航栏神奇地消失了。
这是推送新 VC 之前的屏幕截图
推后是这样的:
正如你所看到的,在内容开始的位置和状态栏之间有一个间隙,在导航栏应该在的位置。
我还在我的 iOS 6 设备上再次测试了这段代码,在那个 iOS 6 设备上一切都很好。所以我不确定这里发生了什么。
此外,如果我尝试记录导航栏消失的控制器的 navBar/navigationItem,我确实得到了对 navBar 的正确引用,这意味着它不是 nil,而是根本不显示。
但是,该方法setHideNavigationBar:NO Animated:NO
也没有带回导航栏。有谁知道发生了什么?