@@ -526,12 +526,19 @@ extension UIViewController
526
526
var navBarBackgroundImage : UIImage ? {
527
527
get {
528
528
guard let bgImage = objc_getAssociatedObject ( self , & AssociatedKeys. navBarBackgroundImage) as? UIImage else {
529
- return nil
529
+ return UIColor . defaultNavBarBackgroundImage
530
530
}
531
531
return bgImage
532
532
}
533
533
set {
534
- objc_setAssociatedObject ( self , & AssociatedKeys. navBarBackgroundImage, newValue, . OBJC_ASSOCIATION_RETAIN_NONATOMIC)
534
+ if customNavBar. isKind ( of: UINavigationBar . self) {
535
+ let navBar = customNavBar as! UINavigationBar
536
+ navBar. wr_setBackgroundImage ( image: newValue!)
537
+ }
538
+ else
539
+ {
540
+ objc_setAssociatedObject ( self , & AssociatedKeys. navBarBackgroundImage, newValue, . OBJC_ASSOCIATION_RETAIN_NONATOMIC)
541
+ }
535
542
}
536
543
}
537
544
@@ -760,11 +767,13 @@ extension UIColor
760
767
fileprivate struct AssociatedKeys
761
768
{ // default is system attributes
762
769
static var defNavBarBarTintColor : UIColor = UIColor . white
770
+ static var defNavBarBackgroundImage : UIImage = UIImage ( )
763
771
static var defNavBarTintColor : UIColor = UIColor ( red: 0 , green: 0.478431 , blue: 1 , alpha: 1.0 )
764
772
static var defNavBarTitleColor : UIColor = UIColor . black
765
773
static var defStatusBarStyle : UIStatusBarStyle = UIStatusBarStyle . default
766
774
static var defShadowImageHidden : Bool = false
767
775
}
776
+
768
777
class var defaultNavBarBarTintColor : UIColor {
769
778
get {
770
779
guard let def = objc_getAssociatedObject ( self , & AssociatedKeys. defNavBarBarTintColor) as? UIColor else {
@@ -777,6 +786,18 @@ extension UIColor
777
786
}
778
787
}
779
788
789
+ class var defaultNavBarBackgroundImage : UIImage ? {
790
+ get {
791
+ guard let def = objc_getAssociatedObject ( self , & AssociatedKeys. defNavBarBackgroundImage) as? UIImage else {
792
+ return nil
793
+ }
794
+ return def
795
+ }
796
+ set {
797
+ objc_setAssociatedObject ( self , & AssociatedKeys. defNavBarBackgroundImage, newValue, . OBJC_ASSOCIATION_RETAIN_NONATOMIC)
798
+ }
799
+ }
800
+
780
801
class var defaultNavBarTintColor : UIColor {
781
802
get {
782
803
guard let def = objc_getAssociatedObject ( self , & AssociatedKeys. defNavBarTintColor) as? UIColor else {
0 commit comments