Я пытаюсь переместить свое текстовое поле вверх, когда клавиатура используется для отображения, и снова оно исчезает, когда клавиатура скрывается. Так что там я использую NotificationCenter.default.addObserver
, но он работает нормально только тогда, когда он заряжается, и когда я вынимаю из зарядного устройства, он не работает, т.е. он не двигается, что может быть в этом случае. Пожалуйста, помогите мне с этим. Заранее спасибо
Ниже мой код:
override func viewDidLoad() {
super.viewDidLoad()
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(ViewController.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)
}
@objc func keyboardWillShow(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if self.view.frame.origin.y != 0{
self.view.frame.origin.y -= 50
}
}
}
@objc func keyboardWillHide(notification: NSNotification) {
if let keyboardSize = (notification.userInfo?[UIKeyboardFrameBeginUserInfoKey] as? NSValue)?.cgRectValue {
if self.view.frame.origin.y != 0{
self.view.frame.origin.y += 50
}
}
}