@@ -75,6 +75,8 @@ open class UKCircularProgress: UIView, UKComponent {
75
75
self . layer. addSublayer ( self . progressLayer)
76
76
self . addSubview ( self . label)
77
77
78
+ self . stripesLayer. mask = self . stripesMaskLayer
79
+
78
80
if #available( iOS 17 . 0 , * ) {
79
81
self . registerForTraitChanges ( [ UITraitUserInterfaceStyle . self] ) { ( view: Self , _: UITraitCollection ) in
80
82
view. handleTraitChanges ( )
@@ -88,7 +90,7 @@ open class UKCircularProgress: UIView, UKComponent {
88
90
Self . Style. backgroundLayer ( self . backgroundLayer, model: self . model)
89
91
Self . Style. progressLayer ( self . progressLayer, model: self . model)
90
92
Self . Style. label ( self . label, model: self . model)
91
- Self . Style. stripesLayer ( self . stripesLayer, backgroundLayer : self . backgroundLayer , maskLayer : self . stripesMaskLayer , model: self . model)
93
+ Self . Style. stripesLayer ( self . stripesLayer, model: self . model)
92
94
}
93
95
94
96
// MARK: - Update
@@ -192,12 +194,10 @@ open class UKCircularProgress: UIView, UKComponent {
192
194
Self . Style. backgroundLayer ( self . backgroundLayer, model: self . model)
193
195
Self . Style. progressLayer ( self . progressLayer, model: self . model)
194
196
Self . Style. label ( self . label, model: self . model)
195
- Self . Style. stripesLayer (
196
- self . stripesLayer,
197
- backgroundLayer: self . backgroundLayer,
198
- maskLayer: self . stripesMaskLayer,
199
- model: self . model
200
- )
197
+ Self . Style. backgroundLayer ( self . backgroundLayer, model: self . model)
198
+ Self . Style. progressLayer ( self . progressLayer, model: self . model)
199
+ Self . Style. stripesLayer ( self . stripesLayer, model: self . model)
200
+ Self . Style. stripesMaskLayer ( self . stripesMaskLayer, model: self . model)
201
201
}
202
202
}
203
203
@@ -232,32 +232,21 @@ extension UKCircularProgress {
232
232
}
233
233
234
234
static func stripesLayer(
235
- _ stripesLayer: CAShapeLayer ,
236
- backgroundLayer: CAShapeLayer ,
237
- maskLayer: CAShapeLayer ,
235
+ _ layer: CAShapeLayer ,
238
236
model: CircularProgressVM
239
237
) {
240
- switch model. style {
241
- case . light:
242
- stripesLayer. isHidden = true
243
- stripesLayer. mask = nil
244
-
245
- if backgroundLayer. superlayer == nil ,
246
- let parentLayer = stripesLayer. superlayer {
247
- parentLayer. insertSublayer ( backgroundLayer, below: stripesLayer)
248
- }
249
-
250
- case . striped:
251
- stripesLayer. isHidden = false
252
- stripesLayer. fillColor = model. color. main. uiColor. cgColor
253
-
254
- maskLayer. fillColor = UIColor . clear. cgColor
255
- maskLayer. strokeColor = UIColor . white. cgColor
256
- maskLayer. lineCap = . round
257
- maskLayer. lineWidth = model. circularLineWidth
258
-
259
- stripesLayer. mask = maskLayer
260
- }
238
+ layer. isHidden = model. isStripesLayerHidden
239
+ layer. fillColor = model. color. main. uiColor. cgColor
240
+ }
241
+
242
+ static func stripesMaskLayer(
243
+ _ layer: CAShapeLayer ,
244
+ model: CircularProgressVM
245
+ ) {
246
+ layer. fillColor = UIColor . clear. cgColor
247
+ layer. strokeColor = model. color. background. uiColor. cgColor
248
+ layer. lineCap = . round
249
+ layer. lineWidth = model. circularLineWidth
261
250
}
262
251
}
263
252
}
0 commit comments