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