on master help sign in
Fixed memory issues.
d4bc7b8ilyakooo0
Melk/CardContainer.swift+1−1
@@ -53,7 +53,7 @@ class CardContainer: UIView {
53 private let card: CardView
53 private let card: CardView
54 private let blurView = UIVisualEffectView()
54 private let blurView = UIVisualEffectView()
55 private let blur = UIBlurEffect(style: UIBlurEffectStyle.light)
55 private let blur = UIBlurEffect(style: UIBlurEffectStyle.light)
56− private let scale: CGFloat = 0.35
56+ private let scale: CGFloat = 0.5
57 private let smallTransform: CGAffineTransform
57 private let smallTransform: CGAffineTransform
58 private let normalTransform = CGAffineTransform(scaleX: 1, y: 1)
58 private let normalTransform = CGAffineTransform(scaleX: 1, y: 1)
59
59
Melk/SecondaryViewController.swift+22−1
@@ -62,6 +62,24 @@ class SecondaryView: UIView {
62 }
62 }
63 private var animate: Bool = false
63 private var animate: Bool = false
64
64
65+ private func cleanCards() {
66+ outLoop: for (i, element) in cards.arrangedSubviews.enumerated() {
67+ switch element {
68+ case .view(let card):
69+ let cardFrame = convert(card.frame, from: cards)
70+ if cardFrame.intersects(bounds) {
71+ break outLoop
72+ } else {
73+ cards.arrangedSubviews.remove(at: i-1)
74+ cards.arrangedSubviews.remove(at: i-1)
75+ }
76+ case .spacer(_):
77+ break
78+ }
79+ }
80+ print(cards.arrangedSubviews.count)
81+ }
82+
65 private let padding = CGPoint(x: 32, y: 32)
83 private let padding = CGPoint(x: 32, y: 32)
66
84
67 override func layoutSubviews() {
85 override func layoutSubviews() {
@@ -72,10 +90,13 @@ class SecondaryView: UIView {
72 self.cards.frame.origin.x = self.frame.width - self.padding.x - self.cards.frame.width
90 self.cards.frame.origin.x = self.frame.width - self.padding.x - self.cards.frame.width
73 }
91 }
74 if animate {
92 if animate {
75− UIView.animate(withDuration: 0.7, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0.6, options: [], animations: updates, completion: nil)
93+ UIView.animate(withDuration: 0.7, delay: 0, usingSpringWithDamping: 0.8, initialSpringVelocity: 0.6, options: [], animations: updates, completion: { _ in
94+ self.cleanCards()
95+ })
76// UIView.animate(withDuration: 0.4, delay: 0.0, options: [.curveEaseOut], animations: updates, completion: nil)
96// UIView.animate(withDuration: 0.4, delay: 0.0, options: [.curveEaseOut], animations: updates, completion: nil)
77 } else {
97 } else {
78 updates()
98 updates()
99+ self.cleanCards()
79 }
100 }
80 animate = false
101 animate = false
81 }
102 }
Melk/StackView.swift+2
@@ -44,6 +44,8 @@ class StackView: UIView {
44 super.layoutSubviews()
44 super.layoutSubviews()
45 print("laying out subviews")
45 print("laying out subviews")
46
46
47+ subviews.map({$0.removeFromSuperview()}) // TODO: There must be a better way!
48+
47 var height: CGFloat = 0
49 var height: CGFloat = 0
48 var width: CGFloat = 0
50 var width: CGFloat = 0
49 switch axis {
51 switch axis {