美文网首页
监听键盘的通知的用法

监听键盘的通知的用法

作者: 思念那年慕云 | 来源:发表于2016-12-26 19:07 被阅读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];
        }];
    

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

    相关文章

      网友评论

          本文标题:监听键盘的通知的用法

          本文链接:https://www.haomeiwen.com/subject/pxzjvttx.html