iOS UINavigationController導航欄 設置

  1. 只有電池欄顏色變化 而且 沒有導航欄那條橫線
 UIView *statusBarView = [[UIView alloc] initWithFrame:CGRectMake(0, -20, kScreenWidth, 20)];
    
        statusBarView.backgroundColor = kBackgroundColor;
    
        [self.navigationController.navigationBar addSubview:statusBarView];

    
        [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
        //消除陰影
        self.navigationController.navigationBar.shadowImage = [UIImage new];
  1. 導航欄字體大小和顏色
 [self.navigationController.navigationBar setTitleTextAttributes:
     
     @{NSFontAttributeName:[UIFont systemFontOfSize:15],
       
       NSForegroundColorAttributeName:[UIColor whiteColor]}];

設置狀態(tài)欄和導航欄是一致的顏色

self.navigationController.navigationBar.barTintColor = kBackgroundColor;

self.navigationController.navigationBar.translucent = NO;

設置透明的導航欄

 - (void)viewWillAppear:(BOOL)animated {

    [super viewWillAppear:animated];

    UIImage *image = [[UIImage alloc] init];

    //設置導航欄背景圖片為一個空的image,這樣就透明了

    [self.navigationController.navigationBar setBackgroundImage:image forBarMetrics:UIBarMetricsDefault];

    //去掉透明后導航欄下邊的黑邊

    [self.navigationController.navigationBar setShadowImage:image];

    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

    self.navigationController.navigationBar.translucent = YES;

}


 - (void)viewWillDisappear:(BOOL)animated {

    [super viewWillDisappear:animated];

    [self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];

    [self.navigationController.navigationBar setShadowImage:nil];

    self.navigationController.navigationBar.barStyle = UIBarStyleDefault;

    self.navigationController.navigationBar.translucent = NO;

}
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容