您的位置:首页 > 移动开发 > Swift

Swift--监听iPhone键盘弹出及隐藏事件

2017-12-11 14:05 501 查看

开发需求:对键盘弹出及隐藏事件进行监听

需要通过NotificationCenter对键盘事件进行监听

//键盘即将弹出
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardShow(note:)), name: NSNotification.Name.UIKeyboardWillShow, object: nil)
//键盘即将隐藏
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardHidden(note:)), name: NSNotification.Name.UIKeyboardWillHide, object: nil)

//键盘弹出监听
@objc func keyboardShow(note: Notification)  {
guard let userInfo = note.userInfo else {return}
guard let keyboardRect = userInfo[UIKeyboardFrameEndUserInfoKey] as? CGRect else{return}
//获取键盘弹起的高度
let keyboardTopYPosition = SCREENHEIGHT - keyboardRect.height

}

//键盘隐藏监听
@objc func keyboardHidden(note: Notification){

}

//取消键盘监听
deinit {
NotificationCenter.default.removeObserver(self)
}


如果要监听键盘完全弹起或隐藏后进行操作,则使用

//注意,这里使用的是UIKeyboardDidShow
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardShow(note:)), name: NSNotification.Name.UIKeyboardDidShow, object: nil)

//注意,这里使用的是UIKeyboardDidHide
NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardHidden(note:)), name: NSNotification.Name.UIKeyboardDidHide, object: nil)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: