From fba9567de7f0c7198516f447eced3042dfbe94b0 Mon Sep 17 00:00:00 2001 From: Jarrod Courtney Date: Fri, 23 Sep 2022 13:42:10 -0500 Subject: [PATCH] added buttonSize Signed-off-by: Jarrod Courtney --- VDSSample/Protocols/PickerBase.swift | 7 +++++ .../ButtonViewController.swift | 29 ++++++++++++++++--- 2 files changed, 32 insertions(+), 4 deletions(-) diff --git a/VDSSample/Protocols/PickerBase.swift b/VDSSample/Protocols/PickerBase.swift index 4f7b062..1425543 100644 --- a/VDSSample/Protocols/PickerBase.swift +++ b/VDSSample/Protocols/PickerBase.swift @@ -102,3 +102,10 @@ class UsePicker: PickerBase { } } +class ButtonSizePicker: PickerBase { + init(){ + super.init(items: [.large, .small]) + } +} + + diff --git a/VDSSample/ViewControllers/ButtonViewController.swift b/VDSSample/ViewControllers/ButtonViewController.swift index fc76574..9152f16 100644 --- a/VDSSample/ViewControllers/ButtonViewController.swift +++ b/VDSSample/ViewControllers/ButtonViewController.swift @@ -13,10 +13,11 @@ import VDSColorTokens class ButtonViewController: ModelScrollViewController { enum PickerType { - case surface, use + case surface, use, buttonSize } var surfacePickerSelectorView = PickerSelectorView(title: "") var usePickerSelectorView = PickerSelectorView(title: "") + var buttonSizePickerSelectorView = PickerSelectorView(title: "") var disabledSwitch = UISwitch() var textField = TextField() @@ -26,8 +27,13 @@ class ButtonViewController: ModelScrollViewController { override func viewDidLoad() { super.viewDidLoad() - //addContentTopView(view: button) - contentTopView.addSubview(button) + let view = UIView() + view.translatesAutoresizingMaskIntoConstraints = false + view.addSubview(button) + button.topAnchor.constraint(equalTo: view.topAnchor).isActive = true + button.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true + button.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true + addContentTopView(view: view) setupForm() setupPicker() @@ -40,6 +46,7 @@ class ButtonViewController: ModelScrollViewController { addFormRow(label: "Disabled", view: disabledSwitch) addFormRow(label: "Label", view: textField) addFormRow(label: "Width", view: widthTextField) + addFormRow(label: "Size", view: buttonSizePickerSelectorView) disabledSwitch @@ -73,6 +80,12 @@ class ButtonViewController: ModelScrollViewController { self?.button.buttonWidth = CGFloat(truncating: n) } }.store(in: &subscribers) + + buttonSizePickerSelectorView.button + .publisher(for: .touchUpInside) + .sink { [weak self] _ in + self?.pickerType = .buttonSize + }.store(in: &subscribers) } @@ -93,6 +106,7 @@ class ButtonViewController: ModelScrollViewController { textField.text = model.text usePickerSelectorView.text = model.use.rawValue widthTextField.text = "200" + buttonSizePickerSelectorView.text = Use.Size.large.rawValue } override func updateView(viewModel: DefaultButtonModel) { @@ -102,7 +116,7 @@ class ButtonViewController: ModelScrollViewController { //Picker var surfacePicker = SurfacePicker() var usePicker = UsePicker() - var buttonSizePicker = TextSizePicker() + var buttonSizePicker = ButtonSizePicker() var pickerType: PickerType = .surface { didSet { @@ -116,6 +130,8 @@ class ButtonViewController: ModelScrollViewController { update(object: surfacePicker) case .use: update(object: usePicker) + case .buttonSize: + update(object: buttonSizePicker) } picker.reloadAllComponents() picker.selectRow(0, inComponent: 0, animated: false) @@ -135,5 +151,10 @@ class ButtonViewController: ModelScrollViewController { self?.button.backgroundColor = item.color self?.usePickerSelectorView.text = item.rawValue } + + buttonSizePicker.onPickerDidSelect = { [weak self] item in + self?.button.buttonSize = item + self?.buttonSizePickerSelectorView.text = item.rawValue + } } }