如何在键盘显示时以编程方式移动StatView

问题描述 投票:-1回答:1

我有一个登录页面,该页面在stackView中具有两个textviews和一个按钮我想在键盘显示并消失时移动stackview,因为我想知道如何以编程方式进行此操作

swift uistackview uikeyboard
1个回答
0
投票

当键盘显示/隐藏时,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)
© www.soinside.com 2019 - 2024. All rights reserved.