diff --git a/VDSSample/ViewControllers/TableViewController.swift b/VDSSample/ViewControllers/TableViewController.swift
index ceb696a..c4d4466 100644
--- a/VDSSample/ViewControllers/TableViewController.swift
+++ b/VDSSample/ViewControllers/TableViewController.swift
@@ -8,6 +8,7 @@
import Foundation
import VDS
import UIKit
+import VDSTokens
class TableViewController: BaseViewController
{
@@ -15,7 +16,9 @@ class TableViewController: BaseViewController {
var fillContainer = Toggle()
- var customColumnWidthSize = NumericField()
+ var customColumnWidthSize = NumericField().with {
+ $0.placeholder = "Minimum 50px"
+ }
lazy var headerLineStylePicker = {
PickerSelectorView(title: "primary", picker: self.picker, items: Line.Style.allCases)
@@ -46,6 +49,7 @@ class TableViewController: BaseViewController {
addFormRow(label: "Custom column size", view: customColumnWidthSize)
fillContainer.isOn = component.fillContainer
+ updateTextFieldStatus(enable: !fillContainer.isOn)
addContentTopView(view: component)
@@ -55,14 +59,13 @@ class TableViewController: BaseViewController {
fillContainer.onChange = { [weak self] sender in
self?.component.fillContainer = sender.isOn
- self?.customColumnWidthSize.isEnabled = !sender.isOn
+ self?.updateTextFieldStatus(enable:!sender.isOn)
}
-
- customColumnWidthSize.textPublisher.sink { [weak self] text in
- if let width = NumberFormatter().number(from: text), let count = self?.component.tableHeader.first?.count {
- self?.component.columnWidths = Array(repeating: CGFloat(truncating: width), count: count)
+
+ customColumnWidthSize.numberPublisher.sink { [weak self] text in
+ if let count = self?.component.tableHeader.first?.count, let text, text.intValue > 50 {
+ self?.component.columnWidths = Array(repeating: CGFloat(truncating: text), count: count)
}
-
}.store(in: &subscribers)
}
@@ -104,6 +107,11 @@ class TableViewController: BaseViewController {
}
}
+ func updateTextFieldStatus(enable: Bool) {
+ customColumnWidthSize.isEnabled = enable
+ customColumnWidthSize.backgroundColor = enable ? UIColor.white : VDSColor.paletteGray85
+ }
+
func setupModel() {
///Header row
self.component.tableHeader = [[TableItemModel(bottomLine: .primary, component: Label().with { $0.text = ""}),