一句代码调用注册通知事件+实现微信弹出/隐藏输入框

首先说明实现方案来自于简书SlimMan的文章,在此感谢他的分享,也感谢原作者codeGlider的分享(原文用的swift);

本文中使用到了一句代码调用注册通知,为什么要使用这个呢 ?因为它使用block添加事件,也不需要手动管理监听对象,so easy !

一句代码调用的原文可以看这里:http://www.jianshu.com/p/70b2503d5fd1

   __weak typeof(self)weakSelf = self;
   // 显示键盘
    [self xw_addNotificationForName:UIKeyboardWillShowNotification block:^(NSNotification * _Nonnull notification) {
        
        // 获取用户信息
        NSDictionary *userInfo = [NSDictionary dictionaryWithDictionary:notification.userInfo];
        // 获取键盘高度
        CGRect keyBoardBounds  = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
        CGFloat keyBoardHeight = keyBoardBounds.size.height;
        // 获取键盘动画时间
        CGFloat animationTime  = [[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
        
        [UIView animateWithDuration:animationTime animations:^{
            weakSelf.mBottomView.transform = CGAffineTransformMakeTranslation(0, -keyBoardHeight);
        }];
    }];
    
    // 隐藏键盘
    [self xw_addNotificationForName:UIKeyboardWillHideNotification block:^(NSNotification * _Nonnull notification) {
        
        // 获取用户信息
        NSDictionary *userInfo = [NSDictionary dictionaryWithDictionary:notification.userInfo];
        // 获取键盘动画时间
        CGFloat animationTime  = [[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] floatValue];
        
        [UIView animateWithDuration:animationTime animations:^{
            
           weakSelf.mBottomView.transform = CGAffineTransformIdentity;
        }];
    }];

注:

记得引入头文件:

#import "NSObject+XWAdd.h"

mBottomView 是sb中创建的view

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值