自定义Navigationbar的item可以写一个基类,其他视图类继承与该基类。
重新实现drawRect函数:
@interface UINavigationBar (CustomNavBar)
@end
@implementation UINavigationBar (CustomNavBar)
- (void) drawRect:(CGRect)rect
{
CGContextRef context =UIGraphicsGetCurrentContext();
CGContextSetRGBFillColor(context,0.3,0.3,0.3,1.0);
CGContextFillRect(context,CGRectMake(0,0,self.frame.size.width,44));
}
@end
UILabel *titleLabel = [[UILabelalloc] initWithFrame:CGRectMake(0,0,150,30)];
[titleLabel setBackgroundColor:[UIColorclearColor]];
[titleLabel setTextColor:[UIColorblueColor]];
[titleLabel setFont:[UIFontfontWithName:@"HelveticaNeue-Bold"size:16]];
[titleLabel setText:@"iOSPlot"];
[self.navigationItemsetTitleView:titleLabel];
[titleLabel release];
[titleLabel setTextAlignment:UITextAlignmentCenter];
UIButton *backButton = [[UIButton alloc] initWithFrame:CGRectMake(0,0,60,40)];
[backButton setBackgroundImage:[UIImage imageNamed:@"back_button.png"] forState:UIControlStateNormal];
[backButton setTitle:@"Back" forState:UIControlStateNormal];
[[backButton titleLabel] setFont:[UIFont fontWithName:@"HelveticaNeue-Bold" size:11]];
[backButton setTitleEdgeInsets:UIEdgeInsetsMake(0, 5, 0, 0)];
UIBarButtonItem *backButtonitem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
[backButton release];
[self.navigationItem setLeftBarButtonItem:backButtonitem];
[backButtonitem release];
[backButton addTarget:self action:@selector(onBackButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
[backButton setAutoresizingMask:UIViewAutoresizingFlexibleHeight];