iOS导航栏更改高度风景与肖像

时间:2015-08-04 02:16:43

标签: ios iphone

当设备从纵向旋转到横向时,有没有办法阻止iOS应用中的默认UINavigationController自动更改高度?

在下面的屏幕截图中,导航栏将高度改变10或15像素,这导致右对齐的uiview(黑条)在横向模式下延伸到导航栏的边界之外。

我希望导航栏保持恒定的高度。

肖像

Portrait

风景

Landscape

2 个答案:

答案 0 :(得分:0)

如果您使用UINavigationBar中的UINavigationController,则无法执行此操作。

另一种解决方案 - 隐藏标准导航栏并在每个UIViewController中显示您的自定义。 之后,您可以使用此帖子中的解决方案:

Is there a way to change the height of a UINavigationBar in Storyboard without using a UINavigationController?

答案 1 :(得分:0)

一种方法是在视图控制器中更改顶视图的约束。

-(void)viewDidLayoutSubviews
{
if (_topConstraintForHandlingNavBarHeight) {
    _topConstraintForHandlingNavBarHeight.constant =  self.navigationController.navigationBar.bounds.size.height;
    [self.view layoutIfNeeded];

}
}

这适用于所有观点。