diff --git a/BeeKit/UI/BSButton.swift b/BeeKit/UI/BSButton.swift index 614c8cbd7..588ac6ee4 100644 --- a/BeeKit/UI/BSButton.swift +++ b/BeeKit/UI/BSButton.swift @@ -13,11 +13,25 @@ public class BSButton : UIButton { required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) + + registerForTraitChanges( + [UITraitUserInterfaceLevel.self]) { + (self: Self, previousTraitCollection: UITraitCollection) in + self.resetStyle() + } + self.setUp() } override init(frame: CGRect) { super.init(frame: frame) + + registerForTraitChanges( + [UITraitUserInterfaceLevel.self]) { + (self: Self, previousTraitCollection: UITraitCollection) in + self.resetStyle() + } + self.setUp() } @@ -31,6 +45,10 @@ public class BSButton : UIButton { self.layer.borderWidth = 1 } + private func resetStyle() { + self.tintColor = dynamicTintFillColor + } + private let dynamicTintFillColor = UIColor { traitCollection in switch traitCollection.userInterfaceStyle { case .dark: