- 1.效果圖
代碼:上面導(dǎo)航欄設(shè)置為了無(wú)色:透明
-
在兩個(gè)方法里面寫(xiě)四句代碼(思想:給導(dǎo)航欄設(shè)置一張對(duì)應(yīng)尺寸的全透明圖片即可。 )
-(void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; //設(shè)置導(dǎo)航欄背景圖片為一個(gè)空的image拉背,這樣就透明了 [self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc]init] forBarMetrics:UIBarMetricsDefault]; //去掉透明后導(dǎo)航欄下邊的黑邊 [self.navigationController.navigationBar setShadowImage:[[UIImage alloc] init]]; } -(void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:(BOOL)animated]; //如果不想讓其他頁(yè)面的導(dǎo)航欄變?yōu)橥该? [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; [self.navigationController.navigationBar setShadowImage:nil]; }
2.改變導(dǎo)航欄的顏色(把下面的代碼下載你要改變的控制器里面)
//視圖將要顯示之前(這個(gè)顏色是導(dǎo)航欄的新的顏色)
-(void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBar.barTintColor = [UIColor greenColor];
}
//視圖已經(jīng)消失(這個(gè)顏色是導(dǎo)航欄的原來(lái)的的顏色)
-(void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:(BOOL)animated];
self.navigationController.navigationBar.barTintColor = [UIColor brownColor];
}
代碼:改變顏色
- 3.怎么改變導(dǎo)航欄上標(biāo)題的顏色和大小(2個(gè)方法)
-
<1>:(自定義視圖的方法)
就是在導(dǎo)航向上添加一個(gè)titleView师崎,可以使用一個(gè)label,再設(shè)置label的背景顏色透明椅棺,字體什么的設(shè)置就很簡(jiǎn)單了犁罩。//自定義標(biāo)題視圖 UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 44)]; titleLabel.backgroundColor = [UIColor grayColor]; titleLabel.font = [UIFont boldSystemFontOfSize:20]; titleLabel.textColor = [UIColor greenColor]; titleLabel.textAlignment = NSTextAlignmentCenter; titleLabel.text = @"新聞"; self.navigationItem.titleView = titleLabel;
-
<2>:(在默認(rèn)顯示的標(biāo)題中直接修改文件的大小和顏色也是可以的)
[self.navigationController.navigationBar setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:19],NSForegroundColorAttributeName:[UIColor redColor]}];
方式二相對(duì)于方式一而言更加簡(jiǎn)單方便