Skip to content

Commit b89f010

Browse files
committed
update class
1 parent a020e08 commit b89f010

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

WRNavigationBar/WRNavigationBar.swift

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -526,12 +526,19 @@ extension UIViewController
526526
var navBarBackgroundImage: UIImage? {
527527
get {
528528
guard let bgImage = objc_getAssociatedObject(self, &AssociatedKeys.navBarBackgroundImage) as? UIImage else {
529-
return nil
529+
return UIColor.defaultNavBarBackgroundImage
530530
}
531531
return bgImage
532532
}
533533
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+
}
535542
}
536543
}
537544

@@ -760,11 +767,13 @@ extension UIColor
760767
fileprivate struct AssociatedKeys
761768
{ // default is system attributes
762769
static var defNavBarBarTintColor: UIColor = UIColor.white
770+
static var defNavBarBackgroundImage: UIImage = UIImage()
763771
static var defNavBarTintColor: UIColor = UIColor(red: 0, green: 0.478431, blue: 1, alpha: 1.0)
764772
static var defNavBarTitleColor: UIColor = UIColor.black
765773
static var defStatusBarStyle: UIStatusBarStyle = UIStatusBarStyle.default
766774
static var defShadowImageHidden: Bool = false
767775
}
776+
768777
class var defaultNavBarBarTintColor: UIColor {
769778
get {
770779
guard let def = objc_getAssociatedObject(self, &AssociatedKeys.defNavBarBarTintColor) as? UIColor else {
@@ -777,6 +786,18 @@ extension UIColor
777786
}
778787
}
779788

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+
780801
class var defaultNavBarTintColor: UIColor {
781802
get {
782803
guard let def = objc_getAssociatedObject(self, &AssociatedKeys.defNavBarTintColor) as? UIColor else {

WRNavigationBar_swift/WRNavigationBar_swift/Demos/CustomListController.swift

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,6 @@ class CustomListController: BaseViewController
2424
tableView.backgroundColor = UIColor.white
2525
view.insertSubview(navBar, aboveSubview: tableView)
2626
navItem.title = "自定义导航栏"
27-
28-
// navBarBarTintColor = UIColor.init(red: 247/255.0, green: 247/255.0, blue: 247/255.0, alpha: 1.0)
29-
// navBarTitleColor = .black
30-
// statusBarStyle = .default
3127
}
3228
}
3329

0 commit comments

Comments
 (0)