Perf: remove unnecessary shadows and mask views

This commit is contained in:
James Magahern
2020-09-30 18:26:45 -07:00
parent 3769f5bbbf
commit fab8ccecbd
5 changed files with 19 additions and 9 deletions

View File

@@ -14,7 +14,6 @@ class SegmentedReliefButton: ReliefButton
didSet { children.forEach { addSubview($0) }; setNeedsLayout() }
}
private let backgroundMaskView = UIView(frame: .zero)
private let backgroundsContainerView = UIView(frame: .zero)
private var childrenHighlighObservations: [NSKeyValueObservation] = []
@@ -22,12 +21,10 @@ class SegmentedReliefButton: ReliefButton
super.init()
self.children = children
backgroundMaskView.backgroundColor = .black
backgroundMaskView.layer.masksToBounds = true
backgroundMaskView.layer.cornerRadius = Self.cornerRadius - Self.borderWidth
backgroundsContainerView.clipsToBounds = true
backgroundsContainerView.mask = backgroundMaskView
backgroundsContainerView.layer.cornerRadius = Self.cornerRadius - Self.borderWidth
constrainedToSquare = false
addSubview(backgroundsContainerView)
}
@@ -57,10 +54,7 @@ class SegmentedReliefButton: ReliefButton
super.layoutSubviews()
backgroundView.colors = [ .clear ]
backgroundView.frame = bounds
shadowView.frame = bounds
backgroundMaskView.frame = backgroundView.frame.insetBy(dx: 1.0, dy: 1.0)
backgroundsContainerView.frame = backgroundView.frame
childrenHighlighObservations.removeAll()