Ios 设置导航栏以覆盖模式分段中的状态栏

Ios 设置导航栏以覆盖模式分段中的状态栏,ios,uinavigationbar,Ios,Uinavigationbar,这可能是个愚蠢的问题,但我想不出来。 当我创建一个推送序列时,如果有导航控制器,它会自动给我这个 当我创建一个模态序列时,我需要从调色板中设置一个导航栏,如下所示 如何使从调色板拖动的自定义导航栏看起来像第一个导航栏? 我之所以需要它,是因为我将状态栏文本设置为白色,以便与导航栏颜色形成对比,但在这种情况下,状态栏是不可见的,在白色背景上是白色的您可以向偏移和高度约束添加属性。然后,在ViewWillAspect方法中,将约束值分别设置为-20和64 -(void)viewWillAppea

这可能是个愚蠢的问题,但我想不出来。 当我创建一个推送序列时,如果有导航控制器,它会自动给我这个

当我创建一个模态序列时,我需要从调色板中设置一个导航栏,如下所示

如何使从调色板拖动的自定义导航栏看起来像第一个导航栏?
我之所以需要它,是因为我将状态栏文本设置为白色,以便与导航栏颜色形成对比,但在这种情况下,状态栏是不可见的,在白色背景上是白色的

您可以向偏移和高度约束添加属性。然后,在ViewWillAspect方法中,将约束值分别设置为-20和64

-(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear];
    [self.myNavBarTopConstraint setConstant:-20];
    [self.myNavBarHeightConstraint setConstant:64];
}

问题是您正在创建自己的标题栏。。你应该做什么。。而不是以模式显示目标视图控制器。。。以模态方式呈现navigationcontroller。。将目标视图控制器设置为根视图控制器的

希望你能理解我想说的=p

德国劳埃德船级社


已经尝试过,但问题是它只是移动导航栏。第一张图片的导航栏比第二张图片大,方法应该是增加它的高度。如果你推上导航控制器,而不仅仅是添加了导航栏的视图,会怎么样?你也可以添加高度约束,并在视图加载时将其更改为64;我已经更新了我的答案来反映这一点。我会试试这个,但问题是当我必须做一个modalSegue时,在这种情况下,我有一个更小的导航条。我如何才能访问你说的约束?你的意思是“嵌入”一个导航控制器到任何modalSegue目标控制器,对吗?这是个好习惯吗?不确定是否是个好习惯。。但这是我找到的解决问题的最好办法。。。这就像对故事板做一点修改一样简单。我试着用代码来解决它。。支持iOS 6和iOS 7,但使状态栏和导航栏之间的颜色匹配只是一件痛苦的事。