先看下效果圖:并沒有做滾動顯示導航欄蘑险,下次補上绿语!
效果圖.gif
相關(guān)代碼如下:
先設(shè)置一個自定義背景圖片
@property (nonatomic ,strong) UIImageView * imageViewBar;
-(void)viewDidLoad{
其他配置
[self setNaVationBar];
}
- (void)setNaVationBar {
// 透明狀態(tài)欄的延伸
self.edgesForExtendedLayout = UIRectEdgeNone;
//可有可無
[self.navigationController.navigationBar setBackgroundImage:nil
forBarPosition:UIBarPositionAny
barMetrics:UIBarMetricsDefault];
//一條線
self.navigationController.navigationBar.shadowImage = [UIImage new];
}
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
//設(shè)置狀態(tài)欄背景字體顏色
//(圖片設(shè)置會導致全局白字,下面這句可以在個別界面設(shè)置成黑字)
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
//導航欄透明設(shè)置
self.imageViewBar = self.navigationController.navigationBar.subviews.firstObject;
self.imageViewBar.alpha = 0;
}
- (void)viewWillDisappear:(BOOL)animated {
//恢復(fù)白色
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;
//恢復(fù)不透明
self.imageViewBar.alpha = 1;
}