移动UINavigationBar的内容

时间:2013-09-29 19:54:42

标签: ios objective-c uinavigationbar

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

这非常出色。

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

私有方法没问题,因为这不会成为应用程序商店候选者。

example

1 个答案:

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