您的位置:首页 > Web前端 > CSS

iOS中修改导航栏的各种样式

2016-06-30 14:52 447 查看
1. 设置navigationBar 的透明度

self.navigationController.navigationBar.translucent = YES;


2. 设置导航默认标题的颜色及字体大小

self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: YK1f1f1f, NSFontAttributeName: [UIFont fontWithName:@"ArialMT" size:18]};


3.设置item颜色

[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];


4. 设置导航栏的背景颜色

[[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]];


5. 导航栏背景

[self.navigationController.navigationBar setBackgroundImage:[UIImageimageNamed:@"navigationImage.png"] forBarMetrics:UIBarMetricsDefault];


6. 去掉导航栏下面默认线条

{
UIImageView *navBarHairlineImageView;  // 声明UIImageView变量,存储底部横线
}


- (void)viewDidLoad
{
[super viewDidLoad];

navBarHairlineImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];

}


- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
navBarHairlineImageView.hidden = YES;
}

- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
navBarHairlineImageView.hidden = NO;
}


// 实现找出底部横线的函数
1. (UIImageView *)findHairlineImageViewUnder:(UIView *)view {
if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) {
return (UIImageView *)view;
}
for (UIView *subview in view.subviews) {
UIImageView *imageView = [self findHairlineImageViewUnder:subview];
if (imageView) {
return imageView;
}
}
return nil;
}


7. //设置状态栏(信号区)白色

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息