【问题标题】:Move navigation bar in navigation view controller in ios7在ios7的导航视图控制器中移动导航栏
【发布时间】:2014-08-01 09:28:44
【问题描述】:

我想为我的导航栏添加 20 点边距。我需要它,因为我想像 youtube 一样在状态栏下使用另一种背景颜色:

我找到了

iOS Developer library 表示:状态栏背景外观由窗口背景提供,如果使用 UIBarPositionTop。

我找到了solution for toolbar,但我无法在导航视图控制器中移动导航栏。我只是为导航栏设置了 UIBarPositionTop,但它没有任何改变。

-(UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
    NSLog(@"position method called");
    return UIBarPositionTop;
}

我仍然看到状态栏的灰色背景而不是白色。

是否可以使用导航栏或我应该使用带有工具栏的视图?

(XCode 6,开发目标 7.0+,sdk 8.0,自动布局)

更新:解决问题的另一种方法

我读过this question 并理解,无需添加边距。我在导航栏控制器上添加了需要背景颜色的视图,它解决了我的问题。

【问题讨论】:

    标签: ios objective-c ios7 uinavigationbar


    【解决方案1】:

    当你将你的 UIView 添加到 UIWindow 中时,你应该改变 UIViews 的大小以不覆盖标题栏。如何做到这一点在这篇文章中有很好的记录:

    Offset on UIWindow addSubview

    【讨论】:

      【解决方案2】:

      我希望我理解正确,请查看尺寸检查器,ios 6/7 deltas。 检查此链接以获取说明: Interface Builder: What are the UIView's Layout iOS 6/7 Deltas for?

      【讨论】:

      • 感谢您的回答,但我没有这个选项,因为我是为“iOS7 及更高版本”开发的​​。我认为iOS7还有另一种方法,但我不知道如何。我尝试添加一些约束,但导航视图内的导航栏是不可能的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-06
      • 1970-01-01
      • 2014-07-14
      相关资源
      最近更新 更多