我有一个登录页面,该页面在stackView中具有两个textviews和一个按钮我想在键盘显示并消失时移动stackview,因为我想知道如何以编程方式进行此操作
当键盘显示/隐藏时,iOS发送2条通知
UIKeyboardWillShow
UIKeyboardWillHide
您可以做的是,观察这些通知,然后移动stackView的框架,例如
@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)