代码之家  ›  专栏  ›  技术社区  ›  JustSid

uinavigationbar高度和景观模式

  •  4
  • JustSid  · 技术社区  · 14 年前

    如果使用uinavigationController显示uinavigationBar,则横向模式下的该条比纵向模式下的要细得多。

    到目前为止一切都很好,因为我想要这种行为,但是我有一个视图不是由uinavigationController处理的,所以我只是从界面生成器中拖拽uinavigationbar到视图中,但这个视图的大小总是相同的,我看不出一种方法来告诉uinavigationbar它应该调整大小。

    有人知道如何做到这一点吗?

    1 回复  |  直到 13 年前
        1
  •  10
  •   Hilton Campbell    13 年前

    您可以在uiview的layoutSubviews方法中调整导航栏的大小,如下所示:

    - (void)layoutSubviews {
        [super layoutSubviews];
    
        // Let navBar tell us what height it would prefer at the current orientation
        CGFloat navBarHeight = [navBar sizeThatFits:self.bounds.size].height;
    
        // Resize navBar
        navBar.frame = CGRectMake(0, 0, self.bounds.size.width, navBarHeight);
    }