diff --git a/VDS/Components/RadioButton/RadioButton.swift b/VDS/Components/RadioButton/RadioButton.swift index 2d6e139a..f315286d 100644 --- a/VDS/Components/RadioButton/RadioButton.swift +++ b/VDS/Components/RadioButton/RadioButton.swift @@ -72,26 +72,28 @@ open class RadioButtonBase: SelectorBase } open override func updateSelector(_ viewModel: ModelType) { - //get the colors - let backgroundColor = radioButtonBackgroundColorConfiguration.getColor(viewModel) - let borderColor = radioButtonBorderColorConfiguration.getColor(viewModel) - let radioSelectedColor = radioButtonCheckColorConfiguration.getColor(viewModel) if let shapeLayer = shapeLayer, let sublayers = layer.sublayers, sublayers.contains(shapeLayer) { shapeLayer.removeFromSuperlayer() self.shapeLayer = nil } + + let bounds = selectorView.bounds + let length = max(bounds.size.height, bounds.size.width) + guard length > 0.0, shapeLayer == nil else { return } + + //get the colors + let backgroundColor = radioButtonBackgroundColorConfiguration.getColor(viewModel) + let borderColor = radioButtonBorderColorConfiguration.getColor(viewModel) + let radioSelectedColor = radioButtonCheckColorConfiguration.getColor(viewModel) + selectorView.backgroundColor = backgroundColor selectorView.layer.borderColor = borderColor.cgColor selectorView.layer.cornerRadius = selectorView.bounds.width * 0.5 selectorView.layer.borderWidth = 1.0 if shapeLayer == nil { - let bounds = selectorView.bounds let selectedBounds = radioButtonSelectedSize - let length = max(bounds.size.height, bounds.size.width) - guard length > 0.0, shapeLayer == nil else { return } - let bezierPath = UIBezierPath(ovalIn: CGRect(x: (bounds.width - selectedBounds.width) / 2, y: (bounds.height - selectedBounds.height) / 2, width: radioButtonSelectedSize.width,