给 UINavigationBar 设置背景图片的最简单方法
具体代码为
@interface UINavigationBar (Codoon)
-(void)drawRect:(CGRect)rect;
@end
@implementation UINavigationBar (Codoon)
-(void)drawRect:(CGRect)rect
{
[[UIImageimageNamed:@"navigation_bar_background.png"]drawInRect:rect];
}
@end
自定义UINavigationBar 按钮
//返回按钮
UIButton* backButton= [[UIButton buttonWithType:UIButtonTypeCustom] retain];
backButton.frame = CGRectMake(0, 0, 51, 30);
[backButton setImage:[UIImage imageNamed:@"back.png"] forState:UIControlStateNormal];
[backButton addTarget:self action:@selector(backButtonClick) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem* backButtonItem= [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = backButtonItem;
[backButton release];
[backButtonItem release];
有了这个,你还会扩展drawRect自定义导航栏背景吗?
查了很多资料,网上的自定义导航栏的方法,清一色的是扩展navigationBar的drawRect方法.然而这样的扩展会影响到工程里所有的navigationBar.或许你并不想这么做,而且很多不合常规的UI用这种方法根本没法实现.
做了无数实验,尝试了各种方法,今天跟大家分享一个新方法:
#import
@interface
}
@end
@implementation
- (id)initWithRootViewControll
}
- (void)loadView {
}
#pragma mark -
#pragma mark UINavigationControllerDe
- (void)navigationController:(UINavigationController
}
@end