refactored radiobox, fixed bug
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
17fe50223c
commit
a2c3c94ef1
@ -155,8 +155,6 @@ open class RadioBox: Control, Changeable {
|
|||||||
selectorStackView.addArrangedSubview(subTextRightLabel)
|
selectorStackView.addArrangedSubview(subTextRightLabel)
|
||||||
selectorLeftLabelStackView.addArrangedSubview(textLabel)
|
selectorLeftLabelStackView.addArrangedSubview(textLabel)
|
||||||
selectorLeftLabelStackView.addArrangedSubview(subTextLabel)
|
selectorLeftLabelStackView.addArrangedSubview(subTextLabel)
|
||||||
|
|
||||||
updateSelector()
|
|
||||||
|
|
||||||
selectorView.pinToSuperView()
|
selectorView.pinToSuperView()
|
||||||
mainStackView.pinToSuperView(.init(top: 16, left: 16, bottom: 16, right: 16))
|
mainStackView.pinToSuperView(.init(top: 16, left: 16, bottom: 16, right: 16))
|
||||||
@ -241,12 +239,12 @@ open class RadioBox: Control, Changeable {
|
|||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - State
|
// MARK: - State
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
open override func updateView() {
|
open override func updateView() {
|
||||||
updateLabels()
|
updateLabels()
|
||||||
updateSelector()
|
|
||||||
updateAccessibilityLabel()
|
updateAccessibilityLabel()
|
||||||
setNeedsDisplay()
|
setNeedsLayout()
|
||||||
|
layoutIfNeeded()
|
||||||
}
|
}
|
||||||
|
|
||||||
open override func updateAccessibilityLabel() {
|
open override func updateAccessibilityLabel() {
|
||||||
@ -281,31 +279,19 @@ open class RadioBox: Control, Changeable {
|
|||||||
/// Manages the appearance of the radioBox.
|
/// Manages the appearance of the radioBox.
|
||||||
|
|
||||||
private var shapeLayer: CAShapeLayer?
|
private var shapeLayer: CAShapeLayer?
|
||||||
|
|
||||||
open func updateSelector() {
|
open override func layoutSubviews() {
|
||||||
|
super.layoutSubviews()
|
||||||
|
|
||||||
//get the colors
|
//get the colors
|
||||||
let backgroundColor = backgroundColorConfiguration.getColor(self)
|
let backgroundColor = backgroundColorConfiguration.getColor(self)
|
||||||
let borderColor = borderColorConfiguration.getColor(self)
|
let borderColor = borderColorConfiguration.getColor(self)
|
||||||
let borderWidth = isSelected ? selectorBorderWidthSelected : selectorBorderWidth
|
let borderWidth = isSelected || isHighlighted ? selectorBorderWidthSelected : selectorBorderWidth
|
||||||
|
|
||||||
selectorView.backgroundColor = backgroundColor
|
selectorView.backgroundColor = backgroundColor
|
||||||
selectorView.layer.borderColor = borderColor.cgColor
|
selectorView.layer.borderColor = borderColor.cgColor
|
||||||
selectorView.layer.cornerRadius = selectorCornerRadius
|
selectorView.layer.cornerRadius = selectorCornerRadius
|
||||||
selectorView.layer.borderWidth = borderWidth
|
selectorView.layer.borderWidth = borderWidth
|
||||||
|
|
||||||
layer.setNeedsDisplay()
|
|
||||||
}
|
|
||||||
|
|
||||||
open override func layoutSubviews() {
|
|
||||||
super.layoutSubviews()
|
|
||||||
// Accounts for any size changes
|
|
||||||
layer.setNeedsDisplay()
|
|
||||||
}
|
|
||||||
|
|
||||||
open override func draw(_ layer: CALayer, in ctx: CGContext) {
|
|
||||||
|
|
||||||
let borderColor = borderColorConfiguration.getColor(self)
|
|
||||||
|
|
||||||
shapeLayer?.removeFromSuperlayer()
|
shapeLayer?.removeFromSuperlayer()
|
||||||
shapeLayer = nil
|
shapeLayer = nil
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user