去除導航欄下方的橫線

方法一:

[self .navigationController.navigationBar setBackgroundImage:[UIImage imageWithColor:XBColor_Blue] forBarMetrics:UIBarMetricsDefault] ;

[self.navigationController.navigationBar setShadowImage:[UIImage new]];

 

方法二:

- (void)setNeedsNavigationBackground:(CGFloat)alpha {
    // 導航欄背景透明度設置
    UIView *barBackgroundView = [[self.navigationBar subviews] objectAtIndex:0];// _UIBarBackground
    UIImageView *backgroundImageView = [[barBackgroundView subviews] objectAtIndex:0];// UIImageView
    if (self.navigationBar.isTranslucent) {
        if (backgroundImageView != nil && backgroundImageView.image != nil) {
            barBackgroundView.alpha = alpha;
        } else {
            UIView *backgroundEffectView = [[barBackgroundView subviews] objectAtIndex:1];// UIVisualEffectView
            if (backgroundEffectView != nil) {
                backgroundEffectView.alpha = alpha;
            }
        }
    } else {
        barBackgroundView.alpha = alpha;
    }
}
// 對導航欄下面那條線做處理
self.navigationBar.clipsToBounds = alpha == 0.0;

 

發佈了78 篇原創文章 · 獲贊 44 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章