如何修改UINavigationBar的高度

来源:互联网 发布:nat123如何解析tk域名 编辑:程序博客网 时间:2024/06/04 18:48

新建一个UINavigationBar的Category,如下:

@implementation UINavigationBar (CustomHeight)- (CGSize)sizeThatFits:(CGSize)size {    // Change navigation bar height. The height must be even, otherwise there will be a white line above the navigation bar.    CGSize newSize = CGSizeMake(self.frame.size.width, 74);    return newSize;}-(void)layoutSubviews {    [super layoutSubviews];        CGRect barFrame = self.frame;    barFrame.size.height = 74;    self.frame = barFrame;        // Make items on navigation bar vertically centered.    int i = 0;    for (UIView *view in self.subviews) {        if (i == 0)            continue;        float centerY = self.bounds.size.height / 2.0f;        CGPoint center = view.center;        center.y = centerY;        view.center = center;    }}@end

注意:如果只重载sizeThatFits函数,则可能出现UINavigationBar宽度不正确的现象,因为在这时获得的frame可能不正确。

原创粉丝点击