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 */; };
|
||||
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, ); }; };
|
||||
EA985C01296CC21C00F2FF2E /* IconViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA985C00296CC21C00F2FF2E /* IconViewController.swift */; };
|
||||
EAA5EEAD28EB6924003B3210 /* TextEntryFieldViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAA5EEAC28EB6924003B3210 /* TextEntryFieldViewController.swift */; };
|
||||
EAB1D2C928AAAA1D00DAE764 /* BaseViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = EAB1D2C828AAAA1D00DAE764 /* BaseViewController.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>"; };
|
||||
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; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
@ -252,6 +254,7 @@
|
||||
5FC35BE828D5235A004EBEAC /* ButtonViewController.swift */,
|
||||
EA89204D28B67332006B9984 /* CheckBoxGroupViewController.swift */,
|
||||
EAF7F09B2899B92400B287F5 /* CheckboxViewController.swift */,
|
||||
EA985C00296CC21C00F2FF2E /* IconViewController.swift */,
|
||||
EAB1D2D328AC409F00DAE764 /* LabelViewController.swift */,
|
||||
EA89201828B56DF5006B9984 /* RadioBoxGroupViewController.swift */,
|
||||
EAF7F11928A14A0E00B287F5 /* RadioButtonViewController.swift */,
|
||||
@ -433,6 +436,7 @@
|
||||
EA89204E28B67332006B9984 /* CheckBoxGroupViewController.swift in Sources */,
|
||||
EAA5EEAD28EB6924003B3210 /* TextEntryFieldViewController.swift in Sources */,
|
||||
EA89204928B66CE2006B9984 /* KeyboardFrameChangeListening.swift in Sources */,
|
||||
EA985C01296CC21C00F2FF2E /* IconViewController.swift in Sources */,
|
||||
EAC9258029119FC400091998 /* TextLinkViewController.swift in Sources */,
|
||||
EAB1D2D428AC409F00DAE764 /* LabelViewController.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: "Checkbox", completed: true, viewController: CheckboxViewController.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: "RadioBoxGroup", completed: true, viewController: RadioBoxGroupViewController.self),
|
||||
MenuComponent(title: "RadioButtonGroup", completed: true, viewController: RadioButtonViewController.self),
|
||||
|
||||
Loading…
Reference in New Issue
Block a user