【问题标题】:How to make UINavigationBar taller in portrait mode on iOS?如何在 iOS 的纵向模式下使 UINavigationBar 更高?
【发布时间】:2013-08-20 19:28:22
【问题描述】:

默认情况下,UINavigationBar 在纵向方向应该是高的,在横向方向应该是短的。大多数时候,我的应用程序的行为是这样的,但有时当从横向更改为纵向时,导航栏无法正确调整大小。有没有强制将导航栏重绘到正确高度的命令?

这是事故的截图。从横向旋转到纵向后,导航栏仍然很短。条形下方有一个永久的空白区域,等于它应有的高度的其余部分。

我的 UIViewController 有这个相关的方向代码:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return YES;
}

- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}

- (BOOL)shouldAutorotate
{
    return YES;
}

【问题讨论】:

  • 您是否尝试过覆盖-willAnimateRotationToInterfaceOrientation: 并手动设置高度? (我没有时间对此进行测试,所以我只是作为评论而不是答案发布。)

标签: iphone ios cocoa-touch orientation uinavigationbar


【解决方案1】:

它看起来并不漂亮,但我只是通过硬编码解决了它:

self.navigationController.navigationBar.height = 44.0;

其中 setHeight 是 UIViews 的一个类别方法,顾名思义,它改变框架的高度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多