1.設置導航條顏色
注意:在這里設置透明度是沒有效果的
self.navigationController.navigationBar.barTintColor = [[UIColor yellowColor] colorWithAlphaComponent:0.3];
2.設置導航條圖片
***注意:1.圖片是會被平鋪的。 2.設置了圖片,顏色會被覆蓋。 ***
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"image01"] forBarMetrics:UIBarMetricsDefault];
3.設置導航條毛玻璃效果
//根據導航欄的結構層次來實現
[[[self.navigationController.navigationBar subviews] objectAtIndex:0] setAlpha:0.5];
4.設置導航欄透明
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
//去掉導航欄底部的黑線
self.navigationController.navigationBar.shadowImage = [UIImage new];
5.導航條的隱藏/顯示
//隱藏
self.navigationController.navigationBar.hidden = YES;
//顯示
self.navigationController.navigationBar.hidden = NO;
6.設置原點
屏幕原點一般會在屏幕的左上角,但是有時會在導航欄的左下角,向下偏移64個單位,這是因為自動布局的原因
self.edgesForExtendedLayout = 0;
總結:
1.導航欄默認有過渡效果和毛玻璃效果,但是如果設置了背景顏色、圖片后,毛玻璃效果就會消失。
2.在一個控制器了設置了導航條了樣式,那么所有的導航條樣式都會改變,所以如果想要不同的效果,就要在視圖的顯示了消失代碼里在單獨設置回來。
3.有時一些復雜的效果需要可以讓導航欄隱藏,然后用UIView模擬導航欄。