diff --git a/DrawerView/DrawerView.swift b/DrawerView/DrawerView.swift index 19c2057..ac14acc 100644 --- a/DrawerView/DrawerView.swift +++ b/DrawerView/DrawerView.swift @@ -174,6 +174,20 @@ private struct ChildScrollViewInfo { updateVisuals() } } + + /// The background blur effect style for dark mode. + public var darkBlurEffectStyle: UIBlurEffect.Style = .dark { + didSet { + updateVisuals() + } + } + + /// The background blur effect style for light mode. + public var lightBlurEffectStyle: UIBlurEffect.Style = .light { + didSet { + updateVisuals() + } + } public var borderColor: UIColor = kDefaultBorderColor { didSet { @@ -1106,7 +1120,7 @@ private struct ChildScrollViewInfo { private func updateBackgroundVisuals(_ backgroundView: UIVisualEffectView) { backgroundView.effect = self.backgroundEffect - .effect(inTraitCollection: self.traitCollection) + .effect(inTraitCollection: self.traitCollection, darkBlurEffectStyle: darkBlurEffectStyle, lightBlurEffectStyle: lightBlurEffectStyle) if #available(iOS 11.0, *) { backgroundView.layer.cornerRadius = self.cornerRadius backgroundView.layer.maskedCorners = [.layerMaxXMinYCorner, .layerMinXMinYCorner] @@ -1438,7 +1452,7 @@ public extension DrawerView { extension DrawerView.BackgroundEffectStyle { - func effect(inTraitCollection traitCollection: UITraitCollection) -> UIVisualEffect? { + func effect(inTraitCollection traitCollection: UITraitCollection, darkBlurEffectStyle: UIBlurEffect.Style, lightBlurEffectStyle: UIBlurEffect.Style) -> UIVisualEffect? { switch self { case .none: return nil case let .visualEffect(effect): return effect @@ -1450,8 +1464,8 @@ extension DrawerView.BackgroundEffectStyle { darkMode = false } return darkMode - ? UIBlurEffect(style: .dark) - : UIBlurEffect(style: .light) + ? UIBlurEffect(style: darkBlurEffectStyle) + : UIBlurEffect(style: lightBlurEffectStyle) } } }