0

我在这里通过另一个问题找到了如何使用类别更改 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

这非常有效。

有没有办法向上移动标题和导航按钮?它们与新尺寸的底部对齐。我想在导航栏的底部放一些东西。

私有方法是可以的,因为这不会成为应用商店的候选者。

例子

4

1 回答 1

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,将您的视图放置在正确的位置。

于 2013-09-29T20:34:31.270 回答