自定义Navigation按钮及Title

导航栏自带的按钮,时常不能满足要求,所以深深需要进行各种定制.

写一个UINavigationItem的category

// UINavigationItem+CB_ChangeButton.h


@interface UINavigationItem (CB_ChangeButton)

- (void) CB_SetRightButton:(UIButton *)button;

- (void) CB_SetLeftButton:(UIButton *)button;

- (void) CB_SetNavigationTitle:(NSString *)title;


@end

 

//  UINavigationItem+CB_ChangeButton.m


#import "UINavigationItem+CB_ChangeButton.h"

@implementation UINavigationItem (CB_ChangeButton)

- (void) CB_SetRightButton:(UIButton *)button {
    
    UIBarButtonItem *rightItem = [[UIBarButtonItem alloc] initWithCustomView: button];
    self.rightBarButtonItem = rightItem;
}

- (void) CB_SetLeftButton:(UIButton *)button {
    
    UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithCustomView: button];
    self.leftBarButtonItem = leftItem;
}

- (void) CB_SetNavigationTitle:(NSString *)title {
    
    UILabel *label = [[UILabel alloc] initWithFrame: CGRectMake( 0, 0, 320, 44)];
    label.text = title;
    label.textColor = [UIColor whiteColor];
    label.font = FONT;
    label.textAlignment = NSTextAlignmentCenter;
    self.titleView = label;
}

@end

原文地址:https://www.cnblogs.com/jz319/p/3729283.html