@@ -29,44 +29,21 @@ extension UINavigationBar
2929 // set navigationBar barTintColor
3030 fileprivate func wr_setBackgroundColor( color: UIColor )
3131 {
32- // barTintColor = color
3332 if ( backgroundView == nil )
3433 {
35- // 设置导航栏本身全透明
34+ // add a image(nil color) to _UIBarBackground make it clear
3635 setBackgroundImage ( UIImage ( ) , for: . default)
3736 backgroundView = UIView ( frame: CGRect ( x: 0 , y: 0 , width: Int ( bounds. width) , height: 64 ) )
38- // _UIBarBackground是导航栏的第一个子控件
37+ // _UIBarBackground is first subView for navigationBar
3938 subviews. first? . insertSubview ( backgroundView ?? UIView ( ) , at: 0 )
4039 }
4140 backgroundView? . backgroundColor = color
4241 }
4342
44- // set navigationBar effectView alpha 设置导航栏毛玻璃的透明度
43+ // set _UIBarBackground alpha (_UIBarBackground subviews alpha <= _UIBarBackground alpha)
4544 fileprivate func wr_setBackgroundAlpha( alpha: CGFloat )
4645 {
4746 let barBackgroundView = subviews [ 0 ]
48- let valueForKey = barBackgroundView. value ( forKey: )
49- 50- if let shadowView = valueForKey ( " _shadowView " ) as? UIView {
51- shadowView. alpha = alpha
52- }
53- 54- if isTranslucent {
55- if #available( iOS 10 . 0 , * ) {
56- if let backgroundEffectView = valueForKey ( " _backgroundEffectView " ) as? UIView , backgroundImage ( for: . default) == nil {
57- backgroundEffectView. alpha = alpha
58- return
59- }
60- 61- } else {
62- if let adaptiveBackdrop = valueForKey ( " _adaptiveBackdrop " ) as? UIView ,
63- let backdropEffectView = adaptiveBackdrop. value ( forKey: " _backdropEffectView " ) as? UIView {
64- backdropEffectView. alpha = alpha
65- return
66- }
67- }
68- }
69- 7047 barBackgroundView. alpha = alpha
7148 }
7249
@@ -104,15 +81,6 @@ extension UINavigationBar
10481 {
10582 transform = CGAffineTransform . init ( translationX: 0 , y: translationY)
10683 }
107- 108- // /// 清除在导航栏上设置的背景颜色、透明度、位移距离等属性
109- // func wr_clear()
110- // {
111- // // 设置导航栏不透明
112- // setBackgroundImage(nil, for: .default)
113- // backgroundView?.removeFromSuperview()
114- // backgroundView = nil
115- // }
11684}
11785
11886//==========================================================================
@@ -129,9 +97,9 @@ extension UINavigationController
12997 navigationBar. wr_setBackgroundColor ( color: barTintColor)
13098 }
13199
132- fileprivate func setNeedsNavigationBarUpdate( effectAlpha : CGFloat )
100+ fileprivate func setNeedsNavigationBarUpdate( barBackgroundAlpha : CGFloat )
133101 {
134- navigationBar. wr_setBackgroundAlpha ( alpha: effectAlpha )
102+ navigationBar. wr_setBackgroundAlpha ( alpha: barBackgroundAlpha )
135103 }
136104
137105 fileprivate func setNeedsNavigationBarUpdate( tintColor: UIColor ) {
@@ -236,11 +204,11 @@ extension UINavigationController
236204 let newTintColor = UIColor . middleColor ( fromColor: fromTintColor, toColor: toTintColor, percent: popProgress)
237205 setNeedsNavigationBarUpdate ( tintColor: newTintColor)
238206
239- // change navBar effectView alpha
240- let fromEffectAlpha = fromVC? . navBarEffectAlpha ?? UIColor . defaultEffectAlpha
241- let toEffectAlpha = toVC? . navBarEffectAlpha ?? UIColor . defaultEffectAlpha
242- let newEffectAlpha = UIColor . middleAlpha ( fromAlpha: fromEffectAlpha , toAlpha: toEffectAlpha , percent: popProgress)
243- setNeedsNavigationBarUpdate ( effectAlpha : newEffectAlpha )
207+ // change navBar _UIBarBackground alpha
208+ let fromBarBackgroundAlpha = fromVC? . navBarBackgroundAlpha ?? UIColor . defaultBackgroundAlpha
209+ let toBarBackgroundAlpha = toVC? . navBarBackgroundAlpha ?? UIColor . defaultBackgroundAlpha
210+ let newBarBackgroundAlpha = UIColor . middleAlpha ( fromAlpha: fromBarBackgroundAlpha , toAlpha: toBarBackgroundAlpha , percent: popProgress)
211+ setNeedsNavigationBarUpdate ( barBackgroundAlpha : newBarBackgroundAlpha )
244212 }
245213
246214
@@ -300,11 +268,11 @@ extension UINavigationController
300268 let newTintColor = UIColor . middleColor ( fromColor: fromTintColor, toColor: toTintColor, percent: pushProgress)
301269 setNeedsNavigationBarUpdate ( tintColor: newTintColor)
302270
303- // change navBar effectView alpha
304- let fromEffectAlpha = fromVC? . navBarEffectAlpha ?? UIColor . defaultEffectAlpha
305- let toEffectAlpha = toVC? . navBarEffectAlpha ?? UIColor . defaultEffectAlpha
306- let newEffectAlpha = UIColor . middleAlpha ( fromAlpha: fromEffectAlpha , toAlpha: toEffectAlpha , percent: pushProgress)
307- setNeedsNavigationBarUpdate ( effectAlpha : newEffectAlpha )
271+ // change navBar _UIBarBackground alpha
272+ let fromBarBackgroundAlpha = fromVC? . navBarBackgroundAlpha ?? UIColor . defaultBackgroundAlpha
273+ let toBarBackgroundAlpha = toVC? . navBarBackgroundAlpha ?? UIColor . defaultBackgroundAlpha
274+ let newBarBackgroundAlpha = UIColor . middleAlpha ( fromAlpha: fromBarBackgroundAlpha , toAlpha: toBarBackgroundAlpha , percent: pushProgress)
275+ setNeedsNavigationBarUpdate ( barBackgroundAlpha : newBarBackgroundAlpha )
308276 }
309277}
310278
@@ -342,9 +310,10 @@ extension UINavigationController: UINavigationBarDelegate
342310 {
343311 let animations : ( UITransitionContextViewControllerKey ) -> ( ) = {
344312 let curColor = context. viewController ( forKey: 0ドル) ? . navBarBarTintColor ?? UIColor . defaultNavBarBarTintColor
345- let curAlpha = context. viewController ( forKey: 0ドル) ? . navBarEffectAlpha ?? UIColor . defaultEffectAlpha
313+ let curAlpha = context. viewController ( forKey: 0ドル) ? . navBarBackgroundAlpha ?? UIColor . defaultBackgroundAlpha
314+ 346315 self . setNeedsNavigationBarUpdate ( barTintColor: curColor)
347- self . setNeedsNavigationBarUpdate ( effectAlpha : curAlpha)
316+ self . setNeedsNavigationBarUpdate ( barBackgroundAlpha : curAlpha)
348317 }
349318
350319 // after that, cancel the gesture of return
@@ -389,11 +358,11 @@ extension UINavigationController: UINavigationBarDelegate
389358 let newTintColor = UIColor . middleColor ( fromColor: fromTintColor, toColor: toTintColor, percent: percentComplete)
390359 setNeedsNavigationBarUpdate ( tintColor: newTintColor)
391360
392- // change navBar effectView alpha
393- let fromEffectAlpha = fromVC? . navBarEffectAlpha ?? UIColor . defaultEffectAlpha
394- let toEffectAlpha = toVC? . navBarEffectAlpha ?? UIColor . defaultEffectAlpha
395- let newEffectAlpha = UIColor . middleAlpha ( fromAlpha: fromEffectAlpha , toAlpha: toEffectAlpha , percent: percentComplete)
396- setNeedsNavigationBarUpdate ( effectAlpha : newEffectAlpha )
361+ // change navBar _UIBarBackground alpha
362+ let fromBarBackgroundAlpha = fromVC? . navBarBackgroundAlpha ?? UIColor . defaultBackgroundAlpha
363+ let toBarBackgroundAlpha = toVC? . navBarBackgroundAlpha ?? UIColor . defaultBackgroundAlpha
364+ let newBarBackgroundAlpha = UIColor . middleAlpha ( fromAlpha: fromBarBackgroundAlpha , toAlpha: toBarBackgroundAlpha , percent: percentComplete)
365+ setNeedsNavigationBarUpdate ( barBackgroundAlpha : newBarBackgroundAlpha )
397366
398367 wr_updateInteractiveTransition ( percentComplete)
399368 }
@@ -409,7 +378,7 @@ extension UIViewController
409378 static var pushToCurrentVCFinished : Bool = false
410379 static var pushToNextVCFinished : Bool = false
411380 static var navBarBarTintColor : UIColor = UIColor . defaultNavBarBarTintColor
412- static var navBarEffectAlpha : CGFloat = 1.0
381+ static var navBarBackgroundAlpha : CGFloat = 1.0
413382 static var navBarTintColor : UIColor = UIColor . defaultNavBarTintColor
414383 static var statusBarStyle : UIStatusBarStyle = UIStatusBarStyle . default
415384 static var customNavBar : UINavigationBar = UINavigationBar ( )
@@ -465,16 +434,16 @@ extension UIViewController
465434 }
466435 }
467436
468- // navigationBar effectView alpha
469- var navBarEffectAlpha : CGFloat {
437+ // navigationBar _UIBarBackground alpha
438+ var navBarBackgroundAlpha : CGFloat {
470439 get {
471- guard let effectAlpha = objc_getAssociatedObject ( self , & AssociatedKeys. navBarEffectAlpha ) as? CGFloat else {
440+ guard let barBackgroundAlpha = objc_getAssociatedObject ( self , & AssociatedKeys. navBarBackgroundAlpha ) as? CGFloat else {
472441 return 1.0
473442 }
474- return effectAlpha
443+ return barBackgroundAlpha
475444 }
476445 set {
477- objc_setAssociatedObject ( self , & AssociatedKeys. navBarEffectAlpha , newValue, . OBJC_ASSOCIATION_RETAIN_NONATOMIC)
446+ objc_setAssociatedObject ( self , & AssociatedKeys. navBarBackgroundAlpha , newValue, . OBJC_ASSOCIATION_RETAIN_NONATOMIC)
478447
479448 if customNavBar. isKind ( of: UINavigationBar . self) {
480449 let navBar = customNavBar as! UINavigationBar
@@ -483,7 +452,7 @@ extension UIViewController
483452 else
484453 {
485454 if pushToCurrentVCFinished == true && pushToNextVCFinished == false {
486- navigationController? . setNeedsNavigationBarUpdate ( effectAlpha : newValue)
455+ navigationController? . setNeedsNavigationBarUpdate ( barBackgroundAlpha : newValue)
487456 }
488457 }
489458 }
@@ -583,7 +552,7 @@ extension UIViewController
583552 func wr_viewDidAppear( _ animated: Bool )
584553 {
585554 navigationController? . setNeedsNavigationBarUpdate ( barTintColor: navBarBarTintColor)
586- navigationController? . setNeedsNavigationBarUpdate ( effectAlpha : navBarEffectAlpha )
555+ navigationController? . setNeedsNavigationBarUpdate ( barBackgroundAlpha : navBarBackgroundAlpha )
587556 navigationController? . setNeedsNavigationBarUpdate ( tintColor: navBarTintColor)
588557 wr_viewDidAppear ( animated)
589558 }
@@ -661,7 +630,7 @@ extension UIColor
661630 }
662631 }
663632
664- class var defaultEffectAlpha : CGFloat {
633+ class var defaultBackgroundAlpha : CGFloat {
665634 get {
666635 return 1.0
667636 }
0 commit comments