导航栏自带的按钮,时常不能满足要求,所以深深需要进行各种定制.
写一个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