diff --git a/BottomSheetDemo/Sources/User Interface/Screens/Root/RootViewController.swift b/BottomSheetDemo/Sources/User Interface/Screens/Root/RootViewController.swift index f000f8a..dececf3 100644 --- a/BottomSheetDemo/Sources/User Interface/Screens/Root/RootViewController.swift +++ b/BottomSheetDemo/Sources/User Interface/Screens/Root/RootViewController.swift @@ -53,7 +53,11 @@ final class RootViewController: UIViewController { let viewController = ResizeViewController(initialHeight: 300) presentBottomSheetInsideNavigationController( viewController: viewController, - configuration: .default + configuration: BottomSheetConfiguration( + cornerRadius: 10, + pullBarConfiguration: .visible(.init(height: 50)), + shadowConfiguration: .init(backgroundColor: UIColor.black.withAlphaComponent(0.6), blur: .light) + ) ) } } diff --git a/Sources/BottomSheet/Core/BottomSheetConfiguration.swift b/Sources/BottomSheet/Core/BottomSheetConfiguration.swift index 1dcb352..b42b9db 100644 --- a/Sources/BottomSheet/Core/BottomSheetConfiguration.swift +++ b/Sources/BottomSheet/Core/BottomSheetConfiguration.swift @@ -26,9 +26,11 @@ public struct BottomSheetConfiguration { public struct ShadowConfiguration { public let backgroundColor: UIColor + public let blur: UIBlurEffect.Style? - public init(backgroundColor: UIColor) { + public init(backgroundColor: UIColor, blur: UIBlurEffect.Style? = nil) { self.backgroundColor = backgroundColor + self.blur = blur } public static let `default` = ShadowConfiguration(backgroundColor: UIColor.black.withAlphaComponent(0.6)) diff --git a/Sources/BottomSheet/Core/Presentation/BottomSheetPresentationController.swift b/Sources/BottomSheet/Core/Presentation/BottomSheetPresentationController.swift index 42733c6..c54a889 100644 --- a/Sources/BottomSheet/Core/Presentation/BottomSheetPresentationController.swift +++ b/Sources/BottomSheet/Core/Presentation/BottomSheetPresentationController.swift @@ -284,7 +284,11 @@ public final class BottomSheetPresentationController: UIPresentationController { } private func addShadow(containerView: UIView) { - let shadingView = UIView() + var shadingView = UIView() + if let blur = configuration.shadowConfiguration.blur { + shadingView = UIVisualEffectView.init(effect: UIBlurEffect.init(style: blur)) + } + shadingView.backgroundColor = configuration.shadowConfiguration.backgroundColor containerView.addSubview(shadingView) shadingView.frame = containerView.bounds