监听键盘的通知的用法

2016-12-26  本文已影响23人  思念那年慕云
有关键盘的通知:
UIKeyboardWillShowNotification
当键盘即将要显示的时候将会发出这个通知。这个通知包含了用户信息库,库里面包括了键盘的各种 信息,键盘将以动画的形式显示在屏幕上。

UIKeyboardDidShowNotification
当键盘显示在屏幕上时将发出这个通知。

UIKeyboardWillHideNotification
当键盘将要从屏幕上移除时将会发出此通知。通知里包含了用户信息库,库里包括了各种关于键盘信 息的详细信息,当键盘隐藏时的动画,动画的持续时间,等等。

UIKeyboardDidHideNotification当键盘完全隐藏后将发出此通知。

UIKeyboardWillChangeFrameNotification:键盘发生变化时(出现或者消失)
#用法举例:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];
对应的监听方法:
-(void)keyboardWillChangeFrame:(NSNotification *)notic
{
    KDLOG(@"notic.userInfo)===%@",notic.userInfo);
}

#输出结果为
**notic.userInfo)==={**
**    UIKeyboardAnimationCurveUserInfoKey = 7;**
**    UIKeyboardAnimationDurationUserInfoKey = "0.25";**
**    UIKeyboardBoundsUserInfoKey = "NSRect: {{0, 0}, {320, 253}}";**
**    UIKeyboardCenterBeginUserInfoKey = "NSPoint: {160, 694.5}";**
**    UIKeyboardCenterEndUserInfoKey = "NSPoint: {160, 441.5}";**
**    UIKeyboardFrameBeginUserInfoKey = "NSRect: {{0, 568}, {320, 253}}";**
**    UIKeyboardFrameEndUserInfoKey = "NSRect: {{0, 315}, {320, 253}}";**
**    UIKeyboardIsLocalUserInfoKey = 1;**
**}**

#参数解释:
UIKeyboardAnimationCurveUserInfoKey:
这个关键字的值指明了动画的类型,用来显示和隐藏键盘。这个关键字包含了一个 NSNumber 类型的值, 此类型包含了一个NSUInteger 类型无符号整数
UIKeyboardAnimationDurationUserInfoKey:
 这个键值指明了键盘显示或隐藏的动画所用的时间。这个键包含一个 NSNumber 类型的值,此类包含一个 double 类型的双字节值。
UIKeyboardFrameBeginUserInfoKey:
这个键值指明了键盘在动画之前的框架。假如键盘将要显示时,在显示之前将这个框架传递给这个动 画。假如键盘已经显示了并即将要隐藏时,这个框架将会传递给这个隐藏动画,在键盘消失之前。这个键包含 了一个 CGRect 类型的值。
UIKeyboardFrameEndUserInfoKey:
这个键值指明了动画完成后的键盘框架。假如键盘即将要显示时,这个框架将会在键盘完全显示后传递给键盘。。假如键盘已经完全显示,而且将要隐藏时,在完全隐藏后这个框架将会传递给键盘。这个键值包 含了一个 CGRect 类型的值。
键盘出现或者消失的时候拖带效果(放在监听键盘通知UIKeyboardWillChangeFrameNotification的监听方法中)。
    // 约束动画
    [UIView animateWithDuration:duration animations:^{
        [self.view layoutIfNeeded];
    }];

参考链接:监听和响应键盘通知

上一篇下一篇

猜你喜欢

热点阅读