如果我使用UINavigationController来显示我的UINavigationBar,这个条在横向模式下比在纵向模式下更纤细。
到目前为止一切都很好,因为我想要这个行为,但我有一个视图不是由UINavigationController处理的,所以我只是将一个UINavigationBar从Interface Builder拖放到视图中但是这个视图总是大小相同而且我看不出告诉UINavigationBar它应该调整大小的方法。
任何人都知道如何实现这一目标?
答案 0 :(得分:10)
您可以在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);
}