diff --git a/VDSSample/Classes/TextField.swift b/VDSSample/Classes/TextField.swift index b1349f0..d6d64dd 100644 --- a/VDSSample/Classes/TextField.swift +++ b/VDSSample/Classes/TextField.swift @@ -7,6 +7,7 @@ import Foundation import UIKit +import VDS class TextField: UITextField { var textPadding = UIEdgeInsets( @@ -16,6 +17,15 @@ class TextField: UITextField { right: 10 ) + override init(frame: CGRect) { + super.init(frame: frame) + font = TypographicalStyle.BodyLarge.font + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + override func textRect(forBounds bounds: CGRect) -> CGRect { layer.borderColor = UIColor.black.cgColor layer.borderWidth = 1 diff --git a/VDSSample/Protocols/PickerBase.swift b/VDSSample/Protocols/PickerBase.swift index 448db0a..d81a81b 100644 --- a/VDSSample/Protocols/PickerBase.swift +++ b/VDSSample/Protocols/PickerBase.swift @@ -36,7 +36,10 @@ public class PickerSelectorView: UIStackView, Picker private weak var picker: UIPickerView? fileprivate var selectedIndex = 0 private var subscribers = Set() - private var label = UILabel() + private var label = Label().with { + $0.typograpicalStyle = .BodyLarge + } + private var button = Button().with { instance in instance.size = .small instance.use = .secondary @@ -88,11 +91,6 @@ public class PickerSelectorView: UIStackView, Picker items.count + 1 } - public func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int ) -> String? { - guard row > 0, let item = items[row-1].rawValue as? String else { return "" } - return item - } - public func pickerView( _ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) { guard row - 1 >= 0 else { return } selectedIndex = row @@ -100,6 +98,21 @@ public class PickerSelectorView: UIStackView, Picker text = "\(items[row-1].rawValue)" pickerView.isHidden = true } + + public func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView { + var label = UILabel() + if let v = view as? UILabel { label = v } + label.font = TypographicalStyle.TitleMedium.font + label.text = title(for: row) + label.textAlignment = .center + return label + } + + private func title(for row: Int) -> String { + guard row > 0, let item = items[row-1].rawValue as? String else { return "" } + return item + } + } public class SurfacePickerSelectorView: PickerSelectorView{ diff --git a/VDSSample/Supporting Files/Resources/Base.lproj/Main.storyboard b/VDSSample/Supporting Files/Resources/Base.lproj/Main.storyboard index 556b010..38ca03c 100644 --- a/VDSSample/Supporting Files/Resources/Base.lproj/Main.storyboard +++ b/VDSSample/Supporting Files/Resources/Base.lproj/Main.storyboard @@ -1,8 +1,9 @@ - + - + + @@ -13,7 +14,7 @@ - + @@ -33,25 +34,6 @@ - - - - - - - - - - - - - diff --git a/VDSSample/ViewControllers/BaseViewController.swift b/VDSSample/ViewControllers/BaseViewController.swift index d331a22..497ba8c 100644 --- a/VDSSample/ViewControllers/BaseViewController.swift +++ b/VDSSample/ViewControllers/BaseViewController.swift @@ -168,8 +168,9 @@ public class BaseViewController: UIViewController, Initable { $0.spacing = 5 } - let label = UILabel().with { + let label = Label().with { $0.text = label + $0.typograpicalStyle = .BodyLarge } formRow.addArrangedSubview(label) diff --git a/VDSSample/ViewControllers/MenuViewController.swift b/VDSSample/ViewControllers/MenuViewController.swift index 970cf08..2162e07 100644 --- a/VDSSample/ViewControllers/MenuViewController.swift +++ b/VDSSample/ViewControllers/MenuViewController.swift @@ -7,6 +7,7 @@ import Foundation import UIKit +import VDS struct MenuComponent { var title: String @@ -17,10 +18,32 @@ protocol Initable { init() } +class MenuCell: UITableViewCell { + var label = Label().with { + $0.typograpicalStyle = .BodyLarge + } + + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + setup() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + + func setup(){ + addSubview(label) + label.pinToSuperView(.init(top: 0, left: 16, bottom: 0, right: 0)) + label.height(50) + } +} + class MenuViewController: UITableViewController { override func viewDidLoad() { super.viewDidLoad() overrideUserInterfaceStyle = .light + tableView.register(MenuCell.self, forCellReuseIdentifier: "cell") } let items: [MenuComponent] = [ @@ -48,13 +71,13 @@ class MenuViewController: UITableViewController { } override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { - let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) + guard items.count > indexPath.row, + let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? MenuCell + else { return UITableViewCell() } - guard items.count > indexPath.row else { return UITableViewCell() } let item = items[indexPath.row] - cell.textLabel?.text = item.title + cell.label.text = item.title cell.accessoryType = .disclosureIndicator - return cell }