更新到 Xcode 5 后,我所有应用 View 中的导航栏都向下移动了。这是一些屏幕截图,第一个显示 View 被下拉时的所有内容,第二个显示所有未触及的内容。搜索栏应该从导航栏开始。
有人知道我该如何解决这个问题吗?
编辑:我以前尝试过这个建议:
if ([self respondsToSelector:@selector(edgesForExtendedLayout)])
self.edgesForExtendedLayout = UIRectEdgeNone;
但它会产生非常奇怪的结果。
这可能是因为我在这个 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/