QMUIKeyboardManagerDelegate
@protocol QMUIKeyboardManagerDelegate <NSObject>
QMUIKeyboardManagerDelegate
里面的方法是对应系统键盘通知的回调方法,具体请看delegate名字,QMUIKeyboardUserInfo
是对系统的userInfo做了一个封装,可以方便的获取userInfo的属性值。
-
键盘即将显示
Declaration
Objective-C
- (void)keyboardWillShowWithUserInfo:(QMUIKeyboardUserInfo *)keyboardUserInfo;
Swift
optional func keyboardWillShow(with keyboardUserInfo: QMUIKeyboardUserInfo!)
-
键盘即将隐藏
Declaration
Objective-C
- (void)keyboardWillHideWithUserInfo:(QMUIKeyboardUserInfo *)keyboardUserInfo;
Swift
optional func keyboardWillHide(with keyboardUserInfo: QMUIKeyboardUserInfo!)
-
键盘frame即将发生变化。 这个delegate除了对应系统的willChangeFrame通知外,在iPad下还增加了监听键盘frame变化的KVO来处理浮动键盘,所以调用次数会比系统默认多。需要让界面或者某个view跟随键盘运动,建议在这个通知delegate里面实现,因为willShow和willHide在手机上是准确的,但是在iPad的浮动键盘下是不准确的。另外,如果不需要跟随浮动键盘运动,那么在逻辑代码里面可以通过判断键盘的位置来过滤这种浮动的情况。
Declaration
Objective-C
- (void)keyboardWillChangeFrameWithUserInfo: (QMUIKeyboardUserInfo *)keyboardUserInfo;
Swift
optional func keyboardWillChangeFrame(with keyboardUserInfo: QMUIKeyboardUserInfo!)
-
键盘已经显示
Declaration
Objective-C
- (void)keyboardDidShowWithUserInfo:(QMUIKeyboardUserInfo *)keyboardUserInfo;
Swift
optional func keyboardDidShow(with keyboardUserInfo: QMUIKeyboardUserInfo!)
-
键盘已经隐藏
Declaration
Objective-C
- (void)keyboardDidHideWithUserInfo:(QMUIKeyboardUserInfo *)keyboardUserInfo;
Swift
optional func keyboardDidHide(with keyboardUserInfo: QMUIKeyboardUserInfo!)
-
键盘frame已经发生变化。
Declaration
Objective-C
- (void)keyboardDidChangeFrameWithUserInfo: (QMUIKeyboardUserInfo *)keyboardUserInfo;
Swift
optional func keyboardDidChangeFrame(with keyboardUserInfo: QMUIKeyboardUserInfo!)