in Sasquatch/Sasquatch/ViewControllers/Cells/MSCustomPropertyTableViewCell.swift [119:169]
func onChangeType(_ type: CustomPropertyType) {
typeTextField.text = type.rawValue
// Reset to default values.
valueTextField.text = ""
valueTextField.keyboardType = .default
valueTextField.tintColor = keyTextField.tintColor
valueTextField.delegate = nil
valueTextField.inputView = nil
valueTextField.inputAccessoryView = nil
switch type {
case .Clear:
valueBottomConstraint.isActive = false
valueLabel.isHidden = true
valueTextField.isHidden = true
boolValue.isHidden = true
case .String:
valueBottomConstraint.isActive = true
valueLabel.isHidden = false
valueTextField.isHidden = false
valueTextField.keyboardType = .asciiCapable
boolValue.isHidden = true
case .Number:
valueBottomConstraint.isActive = true
valueLabel.isHidden = false
valueTextField.isHidden = false
valueTextField.keyboardType = .numbersAndPunctuation
boolValue.isHidden = true
case .Boolean:
valueBottomConstraint.isActive = true
valueLabel.isHidden = false
valueTextField.isHidden = true
boolValue.isHidden = false
case .DateTime:
valueBottomConstraint.isActive = true
valueLabel.isHidden = false
valueTextField.isHidden = false
valueTextField.tintColor = UIColor.clear
valueTextField.delegate = self.datePickerView
boolValue.isHidden = true
self.datePickerView?.showDatePicker()
}
// Apply constraints.
contentView.layoutIfNeeded()
// Animate table.
let tableView: UITableView? = self.tableView()
tableView?.beginUpdates()
tableView?.endUpdates()
}