diff --git a/VDS/Components/DropdownSelect/DropdownSelect.swift b/VDS/Components/DropdownSelect/DropdownSelect.swift index e2217f04..a4a7c741 100644 --- a/VDS/Components/DropdownSelect/DropdownSelect.swift +++ b/VDS/Components/DropdownSelect/DropdownSelect.swift @@ -158,16 +158,17 @@ open class DropdownSelect: EntryFieldBase { optionsPicker.isHidden = true dropdownField.inputView = optionsPicker dropdownField.inputAccessoryView = { - let inputToolbar = UIToolbar().with { - $0.barStyle = .default - $0.isTranslucent = true - $0.items=[ - UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.flexibleSpace, target: self, action: nil), - UIBarButtonItem(title: "Done", style: UIBarButtonItem.Style.done, target: self, action: #selector(pickerDoneClicked)) - ] - } - inputToolbar.sizeToFit() - return inputToolbar + let accessView = UIView(frame: .init(origin: .zero, size: .init(width: UIScreen.main.bounds.width, height: 44))) + accessView.backgroundColor = .white + accessView.addBorder(side: .top, width: 1, color: .lightGray) + let done = UIButton(type: .system) + done.setTitle("Done", for: .normal) + done.translatesAutoresizingMaskIntoConstraints = false + done.addTarget(self, action: #selector(pickerDoneClicked), for: .touchUpInside) + accessView.addSubview(done) + done.pinCenterY() + .pinTrailing(16) + return accessView }() // tap gesture @@ -348,6 +349,22 @@ open class DropdownSelect: EntryFieldBase { titleLabelWidthConstraint?.constant = containerView.frame.width titleLabelWidthConstraint?.isActive = helperTextPlacement == .right } + + open override var canBecomeFirstResponder: Bool { + return dropdownField.canBecomeFirstResponder + } + + open override func becomeFirstResponder() -> Bool { + return dropdownField.becomeFirstResponder() + } + + open override var canResignFirstResponder: Bool { + return dropdownField.canResignFirstResponder + } + + open override func resignFirstResponder() -> Bool { + return dropdownField.resignFirstResponder() + } } //-------------------------------------------------- diff --git a/VDS/Components/TextFields/InputField/TextField.swift b/VDS/Components/TextFields/InputField/TextField.swift index 933b8f47..182c1660 100644 --- a/VDS/Components/TextFields/InputField/TextField.swift +++ b/VDS/Components/TextFields/InputField/TextField.swift @@ -55,17 +55,17 @@ open class TextField: UITextField { } open func initialSetup() { - let doneToolbar: UIToolbar = UIToolbar() - doneToolbar.translatesAutoresizingMaskIntoConstraints = false - doneToolbar.barStyle = .default - - let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) - let done: UIBarButtonItem = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(self.doneButtonAction)) - done.accessibilityHint = "Double tap to finish editing." - doneToolbar.items = [flexSpace, done] - doneToolbar.sizeToFit() - - inputAccessoryView = doneToolbar + let accessView = UIView(frame: .init(origin: .zero, size: .init(width: UIScreen.main.bounds.width, height: 44))) + accessView.backgroundColor = .white + accessView.addBorder(side: .top, width: 1, color: .lightGray) + let done = UIButton(type: .system) + done.setTitle("Done", for: .normal) + done.translatesAutoresizingMaskIntoConstraints = false + done.addTarget(self, action: #selector(doneButtonAction), for: .touchUpInside) + accessView.addSubview(done) + done.pinCenterY() + .pinTrailing(16) + inputAccessoryView = accessView } @objc func doneButtonAction() { diff --git a/VDS/Components/TextFields/TextArea/TextView.swift b/VDS/Components/TextFields/TextArea/TextView.swift index efe8164b..b1faae53 100644 --- a/VDS/Components/TextFields/TextArea/TextView.swift +++ b/VDS/Components/TextFields/TextArea/TextView.swift @@ -104,19 +104,17 @@ open class TextView: UITextView, ViewProtocol { open func setup() { - translatesAutoresizingMaskIntoConstraints = false - let doneToolbar: UIToolbar = UIToolbar() - doneToolbar.translatesAutoresizingMaskIntoConstraints = false - doneToolbar.barStyle = .default - - let flexSpace = UIBarButtonItem(barButtonSystemItem: .flexibleSpace, target: nil, action: nil) - let done: UIBarButtonItem = UIBarButtonItem(title: "Done", style: .done, target: self, action: #selector(self.doneButtonAction)) - done.accessibilityHint = "Double tap to finish editing." - doneToolbar.items = [flexSpace, done] - doneToolbar.sizeToFit() - - inputAccessoryView = doneToolbar - + let accessView = UIView(frame: .init(origin: .zero, size: .init(width: UIScreen.main.bounds.width, height: 44))) + accessView.backgroundColor = .white + accessView.addBorder(side: .top, width: 1, color: .lightGray) + let done = UIButton(type: .system) + done.setTitle("Done", for: .normal) + done.translatesAutoresizingMaskIntoConstraints = false + done.addTarget(self, action: #selector(doneButtonAction), for: .touchUpInside) + accessView.addSubview(done) + done.pinCenterY() + .pinTrailing(16) + inputAccessoryView = accessView } @objc func doneButtonAction() {