swift 键盘打开时移动屏幕

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 键盘打开时移动屏幕相关的知识,希望对你有一定的参考价值。

override func viewDidLoad() {
    super.viewDidLoad()            
    NotificationCenter.default.addObserver(self, selector: #selector(Login.keyboardWillShow), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
    NotificationCenter.default.addObserver(self, selector: #selector(Login.keyboardWillHide), name: NSNotification.Name.UIKeyboardWillHide, object: nil)    
}

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 -= keyboardSize.height
        }
    }        
}

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 += keyboardSize.height
        }
    }
}

以上是关于swift 键盘打开时移动屏幕的主要内容,如果未能解决你的问题,请参考以下文章

键盘打开时如何固定小部件布局?

在android中打开键盘时设置滚动屏幕向上移动

当键盘打开时,Popover 中的 UITableView 滚动出界

在adjustResize和软键盘打开时保留EditText比例

iOS webview自动对焦在键盘打开时不起作用

Android Soft Keyboard在重新打开时隐藏EditText