您的位置:首页 > 移动开发 > 微信开发

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

2016-08-03 17:19 309 查看
首先说明实现方案来自于简书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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐