Как программно переместить StatView при отображении клавиатуры - PullRequest
0 голосов
/ 11 марта 2020

У меня есть страница входа, в которой есть два текстовых просмотра и кнопка в стеке. Я пытаюсь переместить стек, когда отображается клавиатура, а также исчезает, поскольку я хочу знать, как это сделать программно

Ответы [ 2 ]

0 голосов
/ 11 марта 2020

Swift 4.2

override func viewDidLoad() {
    super.viewDidLoad()   
    NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: UIWindow.keyboardWillShowNotification, object: nil)
    NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardWillHide), name: UIWindow.keyboardWillHideNotification, object: nil)
}

   @objc func keyboardWillShow(notification: NSNotification) {
         print("keyboardWillShow")
    }

    @objc func keyboardWillHide(notification: NSNotification){
         print("keyboardWillHide")
    }

Если все еще есть какие-либо ошибки, проверьте ниже ссылку:

ССЫЛКА НА СКРЫТУЮ КЛАВИАТУРУ / ШОУ

0 голосов
/ 11 марта 2020

iOS отправляет 2 уведомления, когда клавиатура будет отображать / скрывать

UIKeyboardWillShow

UIKeyboardWillHide

Что вы можете сделать, это наблюдать за этими уведомлениями и перемещать фрейм стека, например

@objc func keyboardWillShow() {
    if stackView.frame.origin.y == 0 {
      stackView.frame.origin.y -= 200
   }
}

@objc func keyboardWillHide() {
     if stackView.frame.origin.y != 0 {
        stackView.frame.origin.y = 0
      }
 }

А вот как соблюдать эти уведомления. (используйте этот код в вашей функции viewDidLoad)

NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow), name: Notification.Name.UIKeyboardWillShow, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide), name: Notification.Name.UIKeyboardWillHide, object: nil)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...