fixed keyboard issue

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-05-21 09:44:23 -05:00
parent 9d19464b57
commit 675fbf8693
3 changed files with 49 additions and 34 deletions

View File

@ -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()
}
}
//--------------------------------------------------

View File

@ -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() {

View File

@ -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() {