标签:
1、UINavigationBar 背景色修改
- (void)viewWillAppear:(BOOL)animated
{
UINavigationBar *bar = self.navigationController.navigationBar;
//关键是这几句。。。。。
[bar setTranslucent:NO];
if (CURRENT_IOS_VERSION >= 7) {
if ([self.navigationController.navigationBar respondsToSelector:@selector( setBackgroundImage:forBarMetrics:)]){
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"bg_title_up"] forBarMetrics:UIBarMetricsDefault];
}
}else{
[bar setBackgroundImage:[Utility imageWithColor:[Utility stringToColor:@"#df4919"]] forBarMetrics:UIBarMetricsDefault];
[bar.layer setMasksToBounds:YES];
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleBlackOpaque;
}
if ([UINavigationBar instancesRespondToSelector:@selector(setShadowImage:)])
{
[[UINavigationBar appearance] setShadowImage:[UIImage imageWithColor:[UIColor clearColor] size:CGSizeMake(320, 3)]];
}
[super viewWillAppear:animated];
//[MobClick beginLogPageView:NSStringFromClass([self class])];
}
2、设置返回按钮
-(void) setShowBackBtn:(BOOL)_showBackBtn
{
showBackBtn = _showBackBtn;
if (self.navigationController.navigationBarHidden)
{
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
[btn addTarget:self action:@selector(backAction:) forControlEvents:UIControlEventTouchUpInside];
UIImage *normalImg = [UIImage imageNamed:@"icon_back_nomal"];
UIImage *hightLightImg = [UIImage imageNamed:@"icon_back_press"];
[btn setImage:normalImg forState:UIControlStateNormal];
[btn setImage:hightLightImg forState:UIControlStateHighlighted];
[btn setFrame:CGRectMake(0, 22, 26, 39)];
[btn setImageEdgeInsets:UIEdgeInsetsMake(10, 5, 10, 10)];
[self.view addSubview:btn];
} else {
if (showBackBtn) {
UIBarButtonItem *backItem = [UIFactory backItemWithTarget:self selector:@selector(backAction:)];
if (CURRENT_IOS_VERSION < 7.0) {
UIBarButtonItem *flexSpacer = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace
target:self
action:nil];
flexSpacer.width = 10;
[self.navigationItem setLeftBarButtonItems:[NSArray arrayWithObjects:flexSpacer,backItem, nil]];
[flexSpacer release];
}else{
[self.navigationItem setLeftBarButtonItem:backItem];
}
}else{
self.navigationItem.leftBarButtonItem = nil;
}
}
}
标签:
原文地址:http://www.cnblogs.com/ldc529/p/4528795.html