一句代码调用注册通知事件+实现微信弹出/隐藏输入框
2016-08-03 17:19
309 查看
首先说明实现方案来自于简书SlimMan的文章,在此感谢他的分享,也感谢原作者codeGlider的分享(原文用的swift);
本文中使用到了一句代码调用注册通知,为什么要使用这个呢 ?因为它使用block添加事件,也不需要手动管理监听对象,so easy !
一句代码调用的原文可以看这里:http://www.jianshu.com/p/70b2503d5fd1
注:
记得引入头文件:
#import "NSObject+XWAdd.h"
mBottomView 是sb中创建的view
本文中使用到了一句代码调用注册通知,为什么要使用这个呢 ?因为它使用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
相关文章推荐
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- jquery实现input输入框实时输入触发事件代码 ---jQuery 中bind(),live(),delegate(),on() 区别
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- swift实现ios类似微信输入框跟随键盘弹出的效果
- delphi中用代码实现注册Ocx和Dll(有点怪异,使用CallWindowProc来调用指定函数DllRegisterServer)
- jquery实现input输入框实时输入触发事件代码
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- AJ学IOS(18)UI之QQ聊天布局_键盘通知实现自动弹出隐藏_自动回复
- Android(java)学习笔记229:服务(service)之绑定服务调用服务里面的方法 (采用接口隐藏代码内部实现)
- swift实现ios类似微信输入框跟随键盘弹出的效果
- My.Ioc 代码示例——利用 ObjectBuilderRequested 事件实现延迟注册
- jquery实现的弹出层登录和全屏层注册特效代码分享
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现
- Swift 实现 iOS 类似微信输入框跟随键盘弹出的效果
- 【转】swift实现ios类似微信输入框跟随键盘弹出的效果
- jsp html 实现隐藏输入框,点击可以取消隐藏&&弹出输入框
- 猫猫学IOS(十八)UI之QQ聊天布局_键盘通知实现自动弹出隐藏_自动回复
- C#代码:用事件模式实现通知
- swift实现ios类似微信输入框跟随键盘弹出的效果
- 图片点击放大,再次点击返回原视图.完美封装,一个类一句代码即可调用.IOS完美实现