@@ -14,8 +14,14 @@ class CardContainer: UIView {
1414 blurView.effect = blur
1515 card.transform = smallTransform
1616 card.layer.opacity = 0
17+ shadowView.layer.opacity = 0
18+ shadowView.transform = smallTransform
19+ shadowView.layer.shadowRadius = 0
1720 UIView.animate(withDuration: 0.5, delay: 0, options: [.curveEaseInOut], animations: {
1821 self.card.transform = self.normalTransform
22+ self.shadowView.transform = self.normalTransform
23+ self.shadowView.layer.shadowRadius = self.shadowRadius
24+ self.shadowView.layer.opacity = 1
1925 self.blurView.effect = nil
2026 self.card.layer.opacity = 1
2127 }, completion: nil)
@@ -52,15 +58,25 @@ class CardContainer: UIView {
5258
5359 private let card: CardView
5460 private let blurView = UIVisualEffectView()
61+ private let shadowView = UIView()
5562 private let blur = UIBlurEffect(style: UIBlurEffectStyle.light)
5663 private let scale: CGFloat = 0.5
5764 private let smallTransform: CGAffineTransform
5865 private let normalTransform = CGAffineTransform(scaleX: 1, y: 1)
66+ private let shadowRadius: CGFloat = 12
67+ private let shadowOpacity: Float = 0.3
5968
6069 override init(frame: CGRect) {
6170 card = CardView(frame: frame)
6271 smallTransform = CGAffineTransform(scaleX: scale, y: scale)
6372 super.init(frame: frame)
73+ shadowView.layer.shadowColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1).cgColor
74+ shadowView.layer.shadowRadius = shadowRadius
75+ shadowView.layer.shadowOpacity = shadowOpacity
76+ shadowView.backgroundColor = UIColor.clear
77+ shadowView.clipsToBounds = false
78+ shadowView.layer.shadowOffset = CGSize.zero
79+ addSubview(shadowView)
6480 addSubview(card)
6581 addSubview(blurView)
6682 }
@@ -73,6 +89,8 @@ class CardContainer: UIView {
7389 super.layoutSubviews()
7490 card.layoutIfNeeded()
7591 self.frame = card.frame
92+ shadowView.layer.shadowPath = CGPath(roundedRect: card.frame, cornerWidth: card.layer.cornerRadius, cornerHeight: card.layer.cornerRadius, transform: nil)
93+ shadowView.frame = card.frame
7694 blurView.frame = card.frame
7795 }
7896