fixed bugs in generic

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2022-08-04 16:30:53 -05:00
parent f768c6eab6
commit cd58fc810e
2 changed files with 12 additions and 5 deletions

View File

@ -17,7 +17,7 @@ open class LabelBase<ModelType: LabelModel>: UILabel, ModelHandlerable, Initable
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Combine Properties // MARK: - Combine Properties
//-------------------------------------------------- //--------------------------------------------------
@Published public var model = ModelType() @Published public var model: ModelType
private var cancellable: AnyCancellable? private var cancellable: AnyCancellable?
//-------------------------------------------------- //--------------------------------------------------
@ -58,6 +58,7 @@ open class LabelBase<ModelType: LabelModel>: UILabel, ModelHandlerable, Initable
//-------------------------------------------------- //--------------------------------------------------
required public convenience init() { required public convenience init() {
self.init(frame: .zero) self.init(frame: .zero)
self.model = ModelType()
} }
public required convenience init(with model: ModelType) { public required convenience init(with model: ModelType) {
@ -67,11 +68,13 @@ open class LabelBase<ModelType: LabelModel>: UILabel, ModelHandlerable, Initable
} }
public override init(frame: CGRect) { public override init(frame: CGRect) {
self.model = ModelType()
super.init(frame: frame) super.init(frame: frame)
setup() setup()
} }
required public init?(coder: NSCoder) { required public init?(coder: NSCoder) {
self.model = ModelType()
super.init(coder: coder) super.init(coder: coder)
setup() setup()
} }

View File

@ -29,7 +29,7 @@ open class ToggleBase<ModelType: ToggleModel>: Control<ModelType>, Changable {
let stackView = UIStackView() let stackView = UIStackView()
stackView.translatesAutoresizingMaskIntoConstraints = false stackView.translatesAutoresizingMaskIntoConstraints = false
stackView.axis = .horizontal stackView.axis = .horizontal
stackView.distribution = .fillProportionally stackView.distribution = .fill
return stackView return stackView
}() }()
@ -247,15 +247,19 @@ open class ToggleBase<ModelType: ToggleModel>: Control<ModelType>, Changable {
// MARK: - Labels // MARK: - Labels
//-------------------------------------------------- //--------------------------------------------------
private func updateLabel(_ viewModel: ModelType) { private func updateLabel(_ viewModel: ModelType) {
stackView.spacing = viewModel.showText ? 12 : 0 let showText = viewModel.showText
stackView.spacing = showText ? 12 : 0
if stackView.subviews.contains(label) {
label.removeFromSuperview()
}
if showText { if showText {
if textPosition == .left { if textPosition == .left {
stackView.insertArrangedSubview(label, at: 0) stackView.insertArrangedSubview(label, at: 0)
} else { } else {
stackView.addArrangedSubview(label) stackView.addArrangedSubview(label)
} }
} else if stackView.subviews.contains(label) {
label.removeFromSuperview()
} }
} }