added icons
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
8a709174a0
commit
dd50133dc1
@ -59,6 +59,7 @@
|
|||||||
EA89205128B68307006B9984 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89205028B68307006B9984 /* TextField.swift */; };
|
EA89205128B68307006B9984 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA89205028B68307006B9984 /* TextField.swift */; };
|
||||||
EA978EC2291AC62200ACC883 /* VDS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA978EC1291AC62200ACC883 /* VDS.framework */; };
|
EA978EC2291AC62200ACC883 /* VDS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA978EC1291AC62200ACC883 /* VDS.framework */; };
|
||||||
EA978EC3291AC62200ACC883 /* VDS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EA978EC1291AC62200ACC883 /* VDS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
EA978EC3291AC62200ACC883 /* VDS.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = EA978EC1291AC62200ACC883 /* VDS.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
|
EA985C01296CC21C00F2FF2E /* IconViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C00296CC21C00F2FF2E /* IconViewController.swift */; };
|
||||||
EAA5EEAD28EB6924003B3210 /* TextEntryFieldViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEAC28EB6924003B3210 /* TextEntryFieldViewController.swift */; };
|
EAA5EEAD28EB6924003B3210 /* TextEntryFieldViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEAC28EB6924003B3210 /* TextEntryFieldViewController.swift */; };
|
||||||
EAB1D2C928AAAA1D00DAE764 /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2C828AAAA1D00DAE764 /* BaseViewController.swift */; };
|
EAB1D2C928AAAA1D00DAE764 /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2C828AAAA1D00DAE764 /* BaseViewController.swift */; };
|
||||||
EAB1D2D428AC409F00DAE764 /* LabelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */; };
|
EAB1D2D428AC409F00DAE764 /* LabelViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */; };
|
||||||
@ -125,6 +126,7 @@
|
|||||||
EA89204D28B67332006B9984 /* CheckBoxGroupViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckBoxGroupViewController.swift; sourceTree = "<group>"; };
|
EA89204D28B67332006B9984 /* CheckBoxGroupViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CheckBoxGroupViewController.swift; sourceTree = "<group>"; };
|
||||||
EA89205028B68307006B9984 /* TextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = "<group>"; };
|
EA89205028B68307006B9984 /* TextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = "<group>"; };
|
||||||
EA978EC1291AC62200ACC883 /* VDS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = VDS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
EA978EC1291AC62200ACC883 /* VDS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = VDS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
EA985C00296CC21C00F2FF2E /* IconViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = IconViewController.swift; sourceTree = "<group>"; };
|
||||||
EAA5EEAC28EB6924003B3210 /* TextEntryFieldViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextEntryFieldViewController.swift; sourceTree = "<group>"; };
|
EAA5EEAC28EB6924003B3210 /* TextEntryFieldViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextEntryFieldViewController.swift; sourceTree = "<group>"; };
|
||||||
EAB1D2C828AAAA1D00DAE764 /* BaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = "<group>"; };
|
EAB1D2C828AAAA1D00DAE764 /* BaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseViewController.swift; sourceTree = "<group>"; };
|
||||||
EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelViewController.swift; sourceTree = "<group>"; };
|
EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LabelViewController.swift; sourceTree = "<group>"; };
|
||||||
@ -252,6 +254,7 @@
|
|||||||
5FC35BE828D5235A004EBEAC /* ButtonViewController.swift */,
|
5FC35BE828D5235A004EBEAC /* ButtonViewController.swift */,
|
||||||
EA89204D28B67332006B9984 /* CheckBoxGroupViewController.swift */,
|
EA89204D28B67332006B9984 /* CheckBoxGroupViewController.swift */,
|
||||||
EAF7F09B2899B92400B287F5 /* CheckboxViewController.swift */,
|
EAF7F09B2899B92400B287F5 /* CheckboxViewController.swift */,
|
||||||
|
EA985C00296CC21C00F2FF2E /* IconViewController.swift */,
|
||||||
EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */,
|
EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */,
|
||||||
EA89201828B56DF5006B9984 /* RadioBoxGroupViewController.swift */,
|
EA89201828B56DF5006B9984 /* RadioBoxGroupViewController.swift */,
|
||||||
EAF7F11928A14A0E00B287F5 /* RadioButtonViewController.swift */,
|
EAF7F11928A14A0E00B287F5 /* RadioButtonViewController.swift */,
|
||||||
@ -433,6 +436,7 @@
|
|||||||
EA89204E28B67332006B9984 /* CheckBoxGroupViewController.swift in Sources */,
|
EA89204E28B67332006B9984 /* CheckBoxGroupViewController.swift in Sources */,
|
||||||
EAA5EEAD28EB6924003B3210 /* TextEntryFieldViewController.swift in Sources */,
|
EAA5EEAD28EB6924003B3210 /* TextEntryFieldViewController.swift in Sources */,
|
||||||
EA89204928B66CE2006B9984 /* KeyboardFrameChangeListening.swift in Sources */,
|
EA89204928B66CE2006B9984 /* KeyboardFrameChangeListening.swift in Sources */,
|
||||||
|
EA985C01296CC21C00F2FF2E /* IconViewController.swift in Sources */,
|
||||||
EAC9258029119FC400091998 /* TextLinkViewController.swift in Sources */,
|
EAC9258029119FC400091998 /* TextLinkViewController.swift in Sources */,
|
||||||
EAB1D2D428AC409F00DAE764 /* LabelViewController.swift in Sources */,
|
EAB1D2D428AC409F00DAE764 /* LabelViewController.swift in Sources */,
|
||||||
EA89204B28B66CE2006B9984 /* ScrollViewKeyboardAvoider.swift in Sources */,
|
EA89204B28B66CE2006B9984 /* ScrollViewKeyboardAvoider.swift in Sources */,
|
||||||
|
|||||||
105
VDSSample/ViewControllers/IconViewController.swift
Normal file
105
VDSSample/ViewControllers/IconViewController.swift
Normal file
@ -0,0 +1,105 @@
|
|||||||
|
//
|
||||||
|
// IconViewController.swift
|
||||||
|
// VDSSample
|
||||||
|
//
|
||||||
|
// Created by Matt Bruce on 1/9/23.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
import UIKit
|
||||||
|
import VDS
|
||||||
|
import Combine
|
||||||
|
|
||||||
|
class IconViewController: BaseViewController {
|
||||||
|
|
||||||
|
lazy var colorPickerSelectorView = {
|
||||||
|
PickerSelectorView(title: "",
|
||||||
|
picker: self.picker,
|
||||||
|
items: IconColor.allCases)
|
||||||
|
}()
|
||||||
|
|
||||||
|
lazy var categoryPickerSelectorView = {
|
||||||
|
PickerSelectorView(title: "",
|
||||||
|
picker: self.picker,
|
||||||
|
items: IconCategory.allCases.sorted{ $0.rawValue < $1.rawValue })
|
||||||
|
}()
|
||||||
|
|
||||||
|
lazy var namePickerSelectorView = {
|
||||||
|
PickerSelectorView<IconName>(title: "",
|
||||||
|
picker: self.picker,
|
||||||
|
items: [])
|
||||||
|
}()
|
||||||
|
|
||||||
|
lazy var sizePickerSelectorView = {
|
||||||
|
PickerSelectorView(title: "",
|
||||||
|
picker: self.picker,
|
||||||
|
items: IconSize.allCases)
|
||||||
|
}()
|
||||||
|
|
||||||
|
var icon = Icon()
|
||||||
|
|
||||||
|
override func viewDidLoad() {
|
||||||
|
super.viewDidLoad()
|
||||||
|
addContentTopView(view: .makeWrapper(for: icon))
|
||||||
|
setupForm()
|
||||||
|
setupPicker()
|
||||||
|
setupModel()
|
||||||
|
}
|
||||||
|
|
||||||
|
func setupForm(){
|
||||||
|
addFormRow(label: "Surface", view: surfacePickerSelectorView)
|
||||||
|
addFormRow(label: "Size", view: sizePickerSelectorView)
|
||||||
|
addFormRow(label: "Color", view: colorPickerSelectorView)
|
||||||
|
addFormRow(label: "Category", view: categoryPickerSelectorView)
|
||||||
|
addFormRow(label: "Name", view: namePickerSelectorView)
|
||||||
|
}
|
||||||
|
|
||||||
|
func setupModel() {
|
||||||
|
let name = IconName.accessibility
|
||||||
|
icon.color = .black
|
||||||
|
icon.name = name
|
||||||
|
|
||||||
|
//setup UI
|
||||||
|
surfacePickerSelectorView.text = icon.surface.rawValue
|
||||||
|
sizePickerSelectorView.text = icon.size.rawValue
|
||||||
|
colorPickerSelectorView.text = icon.color.rawValue
|
||||||
|
category = .accessibility
|
||||||
|
namePickerSelectorView.text = name.rawValue
|
||||||
|
}
|
||||||
|
|
||||||
|
private var category: IconCategory = .accessibility {
|
||||||
|
didSet {
|
||||||
|
categoryPickerSelectorView.text = category.rawValue
|
||||||
|
let icons = category.icons.sorted{ $0.rawValue < $1.rawValue }
|
||||||
|
namePickerSelectorView.items = icons
|
||||||
|
if let first = icons.first {
|
||||||
|
namePickerSelectorView.text = first.rawValue
|
||||||
|
icon.name = first
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func setupPicker(){
|
||||||
|
|
||||||
|
surfacePickerSelectorView.onPickerDidSelect = { [weak self] item in
|
||||||
|
self?.icon.surface = item
|
||||||
|
self?.contentTopView.backgroundColor = item.color
|
||||||
|
}
|
||||||
|
|
||||||
|
categoryPickerSelectorView.onPickerDidSelect = { [weak self] item in
|
||||||
|
self?.category = item
|
||||||
|
}
|
||||||
|
|
||||||
|
sizePickerSelectorView.onPickerDidSelect = { [weak self] item in
|
||||||
|
self?.icon.size = item
|
||||||
|
}
|
||||||
|
|
||||||
|
colorPickerSelectorView.onPickerDidSelect = { [weak self] item in
|
||||||
|
self?.icon.color = item
|
||||||
|
}
|
||||||
|
|
||||||
|
namePickerSelectorView.onPickerDidSelect = { [weak self] item in
|
||||||
|
self?.icon.name = item
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -76,6 +76,7 @@ class MenuViewController: UITableViewController {
|
|||||||
MenuComponent(title: "ButtonGroup", completed: true, viewController: ButtonGroupViewController.self),
|
MenuComponent(title: "ButtonGroup", completed: true, viewController: ButtonGroupViewController.self),
|
||||||
MenuComponent(title: "Checkbox", completed: true, viewController: CheckboxViewController.self),
|
MenuComponent(title: "Checkbox", completed: true, viewController: CheckboxViewController.self),
|
||||||
MenuComponent(title: "CheckboxGroup", completed: true, viewController: CheckboxGroupViewController.self),
|
MenuComponent(title: "CheckboxGroup", completed: true, viewController: CheckboxGroupViewController.self),
|
||||||
|
MenuComponent(title: "Icon", completed: true, viewController: IconViewController.self),
|
||||||
MenuComponent(title: "Label", completed: true, viewController: LabelViewController.self),
|
MenuComponent(title: "Label", completed: true, viewController: LabelViewController.self),
|
||||||
MenuComponent(title: "RadioBoxGroup", completed: true, viewController: RadioBoxGroupViewController.self),
|
MenuComponent(title: "RadioBoxGroup", completed: true, viewController: RadioBoxGroupViewController.self),
|
||||||
MenuComponent(title: "RadioButtonGroup", completed: true, viewController: RadioButtonViewController.self),
|
MenuComponent(title: "RadioButtonGroup", completed: true, viewController: RadioButtonViewController.self),
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user