Swift3中UIKeyboardFrameEndUserInfoKey的用法
在监听键盘事件的时候,我们一般会用到如下方法,来获取键盘动画的时长和键盘的frame,一般会使用到键盘弹起后的高度,用来处理输入框的位置。
在Objective-C上用习惯的UIKeyboardFrameEndUserInfoKey可以很方便的获取键盘弹起后的高度,但是swift3更新之后,之前的方法又不能用了,所以在这里备注一下。
func keyboardShow(notification : NSNotification) {
let userInfo = notification.userInfo as! NSDictionary
let duration = userInfo[UIKeyboardAnimationDurationUserInfoKey] as! Float
let keyboardRect = (userInfo[UIKeyboardFrameEndUserInfoKey]! as AnyObject).cgRectValue
let keyboardH = keyboardRect?.size.height
UIView.animate(withDuration: TimeInterval(duration)) {
if Int(keyboardH!) > 200 {
self.centerView.y = AppHeight - 230 - keyboardH!
}
}
}