@@ -54,12 +54,11 @@ final class AddNoteViewController: UIViewController {
5454 fatalError ( " init(coder:) has not been implemented " )
5555 }
5656
57- private lazy var toolsBar : UIToolbar = {
58- let bar = UIToolbar ( )
57+ private var toolsBar : UIToolbar = {
58+ let bar = UIToolbar ( frame : CGRect ( x : 0 , y : 0 , width : UIScreen . main . bounds . width , height : 45 ) )
5959 bar. items = [
6060 UIBarButtonItem ( title: " 🔗 " , style: . plain, target: self , action: #selector( addLinkMarkup) ) ,
6161 UIBarButtonItem ( title: " 📅 " , style: . plain, target: self , action: #selector( setDatePickerView) ) ,
62- UIBarButtonItem ( barButtonSystemItem: . flexibleSpace, target: nil , action: nil )
6362 ]
6463 bar. sizeToFit ( )
6564 return bar
@@ -84,13 +83,13 @@ final class AddNoteViewController: UIViewController {
8483 case plain = " Plain "
8584 }
8685
87- private lazy var datePickBar : UIToolbar = {
88- let bar = UIToolbar ( )
89- let cancelButton = UIBarButtonItem ( title: " Cancel " , style: . plain, target: self , action: #selector( setDefaultInputView) )
90- let scheduleButton = UIBarButtonItem ( title: DateType . schedule. rawValue, style: . plain, target: self , action: #selector( insertDate ( _: ) ) )
91- let deadlineButton = UIBarButtonItem ( title: DateType . deadline. rawValue, style: . plain, target: self , action: #selector( insertDate ( _: ) ) )
92- let agendaButton = UIBarButtonItem ( title: DateType . agenda. rawValue, style: . plain, target: self , action: #selector( insertDate ( _: ) ) )
93- let plainButton = UIBarButtonItem ( title: DateType . plain. rawValue, style: . plain, target: self , action: #selector( insertDate ( _: ) ) )
86+ private var datePickBar : UIToolbar = {
87+ let bar = UIToolbar ( frame : CGRect ( x : 0 , y : 0 , width : UIScreen . main . bounds . width , height : 45 ) )
88+ let cancelButton = UIBarButtonItem ( title: " Cancel " , style: . plain, target: self , action: #selector( setDefaultInputView) )
89+ let scheduleButton = UIBarButtonItem ( title: DateType . schedule. rawValue, style: . plain, target: self , action: #selector( insertDate ( _: ) ) )
90+ let deadlineButton = UIBarButtonItem ( title: DateType . deadline. rawValue, style: . plain, target: self , action: #selector( insertDate ( _: ) ) )
91+ let agendaButton = UIBarButtonItem ( title: DateType . agenda. rawValue, style: . plain, target: self , action: #selector( insertDate ( _: ) ) )
92+ let plainButton = UIBarButtonItem ( title: DateType . plain. rawValue, style: . plain, target: self , action: #selector( insertDate ( _: ) ) )
9493 let spacer = UIBarButtonItem ( barButtonSystemItem: . flexibleSpace, target: nil , action: nil )
9594 bar. items = [ scheduleButton, deadlineButton, agendaButton, plainButton, spacer, cancelButton ]
9695 bar. sizeToFit ( )
@@ -126,9 +125,19 @@ final class AddNoteViewController: UIViewController {
126125 self . setDefaultInputView ( )
127126 }
128127
128+ func updateConstraintsWhenCustomKeyboardIsShown( customInputView: UIView ) {
129+ guard let superview = customInputView. superview else { return }
130+ for constraint in superview. constraints {
131+ if ( constraint. secondItem === customInputView && constraint. secondAttribute == . top) {
132+ constraint. priority = UILayoutPriority ( 999 )
133+ }
134+ }
135+ }
136+
129137 @objc func setDefaultInputView( ) {
130- self . textView. inputView = nil
131138 self . textView. inputAccessoryView = self . toolsBar
139+ self . textView. inputView = nil
140+ updateConstraintsWhenCustomKeyboardIsShown ( customInputView: self . datePicker)
132141 self . textView. reloadInputViews ( )
133142 }
134143
0 commit comments