繁体   English   中英

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

[英]iOS navigation bar changing height landscape vs portrait

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

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

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

肖像

肖像

景观

景观

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

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

有没有办法在不使用UINavigationController的情况下更改Storyboard中UINavigationBar的高度?

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

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

}
}

这适用于所有视图。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM