我在这里找到了另一个问题,如何使用类别更改UINavigationBar的高度:
#import "UINavigationBar+Taller.h"
@implementation UINavigationBar (Taller)
- (CGSize)sizeThatFits:(CGSize)size {
CGSize newSize = CGSizeMake(self.frame.size.width,100); //exaggerated height
return newSize;
}
@end
这非常出色。
有没有办法移动标题和导航按钮?它们与新尺寸的底部对齐。我想在导航栏的底部放一些东西。
私有方法没问题,因为这不会成为应用程序商店候选者。
答案 0 :(得分:0)
更改标题的垂直偏移:
CGFloat yourOffset = 5.0; //whatever value you need
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:yourOffset forBarMetrics:UIBarMetricsDefault];
使按钮高一点或低一点
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:button];
另一种(更灵活)更好的方法是创建UINavigationBar的子类 并覆盖layoutSubviews,将您的视图放在正确的位置。