ios - 如何防止 UINavigationBar 在 iOS 7 中覆盖 View 顶部?

标签 ios objective-c ios7 uinavigationbar uistatusbar

更新到 Xcode 5 后,我所有应用 View 中的导航栏都向下移动了。这是一些屏幕截图,第一个显示 View 被下拉时的所有内容,第二个显示所有未触及的内容。搜索栏应该从导航栏开始。

All Content All Content on Idle

有人知道我该如何解决这个问题吗?

编辑:我以前尝试过这个建议:

if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
        self.edgesForExtendedLayout = UIRectEdgeNone;

但它会产生非常奇怪的结果。

Solution Attempt

这可能是因为我在这个 View Controller 下有一个“幻灯片菜单”,由于导航栏的透明度而出现。

最佳答案

导航栏的半透明属性设置为NO:

self.navigationController.navigationBar.translucent = NO;

这将修复 View 在导航栏和状态栏下方的框架。

如果必须显示和隐藏导航栏,请使用

 if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
    self.edgesForExtendedLayout = UIRectEdgeNone;   // iOS 7 specific

在您的 viewDidLoad 方法中。

关于ios - 如何防止 UINavigationBar 在 iOS 7 中覆盖 View 顶部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18953509/

相关文章:

objective-c - UITabBar 未在 ios 7 中显示所选项目图像

ios - 移动网站无法在iframe中呈现移动设备

javascript - 使用 createAudioPlayer 播放音频时出错

c++ - 使用 C++ POSIX 类的 Objective C 项目

ios - 核心数据 - 在 Group By 中使用 transient 属性

iphone - iOS写入文件

ios - 在 xcode 中使用单个目标管理多个环境?

ios - 触摸开始 : withEvent: is not called when tapped on a UIButton

ios - 在 iOS 7 中检测静音模式

ios - 对象似乎被释放,但内存占用不断增加