iOS键盘弹出通知后加入动画
首先我们要注册键盘弹出和弹入的通知
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillShow:)
name:UIKeyboardWillShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardWillHide:)
name:UIKeyboardWillHideNotification
object:nil];
//Code from Brett Schumann
-(void) keyboardWillShow:(NSNotification *)note{
// get keyboard size and loctaion
CGRect keyboardBounds;
[[note.userInfo valueForKey:UIKeyboardFrameEndUserInfoKey] getValue: &keyboardBounds];
NSNumber *duration = [note.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSNumber *curve = [note.userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey];
// Need to translate the bounds to account for rotation.
keyboardBounds = [self.view convertRect:keyboardBounds toView:nil];
// get a rect for the textView frame
CGRect btnFrame = self.editView.frame;
btnFrame.origin.y = self.view.bounds.size.height - (keyboardBounds.size.height + btnFrame.size.height);
// animations settings
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:[duration doubleValue]];
[UIView setAnimationCurve:[curve intValue]];
[UIView setAnimationDelegate:self];
// set views with new info
self.editView.frame = btnFrame;
// commit animations
[UIView commitAnimations];
}
- (void) keyboardWillHide:(NSNotification *)note{
NSNumber *duration = [note.userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey];
NSNumber *curve = [note.userInfo objectForKey:UIKeyboardAnimationCurveUserInfoKey];
// get a rect for the textView frame
CGRect btnFrame = self.editView.frame;
btnFrame.origin.y = self.view.bounds.size.height + btnFrame.size.height;
// animations settings
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:[duration doubleValue]];
[UIView setAnimationCurve:[curve intValue]];
// set views with new info
self.editView.frame = btnFrame;
// commit animations
[UIView commitAnimations];
}
iOS键盘弹出通知后加入动画相关推荐
- iOS键盘弹出时动画时长失效问题
iOS键盘弹出动画问题 今天在写键盘弹出时遇见一个问题.监听UIKeyboardWillShowNotification通知让Label做一个移动的动画,指定duration为15,但动画实际完成时间 ...
- 成品app直播源码,iOS键盘弹出遮挡输入框
成品app直播源码,iOS键盘弹出遮挡输入框解决的相关代码 self.phoneInput = [UITextField new];self.phoneInput.placeholder = @&qu ...
- ios 键盘弹出input输入框被遮挡 键盘隐藏时页面无法回弹解决方案
ios 微信键盘弹出input输入框被遮挡 键盘隐藏时页面无法回弹解决方案 问题:测试发现ios微信端浏览器中,键盘弹出后,输入框被软键盘遮挡,input失焦后,因软键盘顶起的页面没有回弹到原来位置, ...
- Android11键盘弹出动画,(2016-11-04完美解决)移动端iOS第三方输入法遮挡底部input及android键盘回落后留白问题...
问题概述 问题1:H5 web 移动端 输入框, 键盘唤起后fixed定位好的元素跟随页面滚动了起来- fixed属性失效了!满屏任性横飞, 如下图: 问题2:有几后来含些在到气时按式近篇来又的方浏消 ...
- Android页面监听虚拟键盘弹出、收起
js 移动端关于页面布局,如果底部有 position: fixed 的盒子, 又有input,当软键盘弹出收起都会影响页面布局. 如图: 页面这时候Android可以监听resize事件,代码如下, ...
- 解决Android软键盘弹出覆盖h5页面输入框问题 // 在ios系统中输入框软键盘消失后,页面不回弹的问题 // 解决苹果不回弹页面 // 微信环境打开
//解决Android软键盘弹出覆盖h5页面输入框问题 window.addEventListener('resize', () => {if (document.activeElement.t ...
- swift实现ios类似微信输入框跟随键盘弹出的效果
为什么要做这个效果 在聊天app,例如微信中,你会注意到一个效果,就是在你点击输入框时输入框会跟随键盘一起向上弹出,当你点击其他地方时,输入框又会跟随键盘一起向下收回,二者完全无缝连接,那么这是怎么实 ...
- ios输入框的坑(软键盘弹出不灵敏、输入法影响弹出高度)
参考地址: https://segmentfault.com/a/1190000018959389 https://blog.csdn.net/github_37533433/article/deta ...
- android 设置键盘弹出动画,Android实现键盘弹出界面上移的实现思路
1.首先说一下思路: 基本就是结合layout中ScrollView视图和AndroidManifest.xml中activity中的android:windowSoftInputMode属性配置实现 ...
最新文章
- Oracle11g密码忘记处理方法
- C#中将字符串内容写入到txt文件中
- 类加载器-扩展加载器
- 计算机电源外形,电源外观及铭牌解析_HKC电源_机箱电源评测-中关村在线
- 原作者出局!Faker.js已被社区控制。。
- 获取 视频 音频 及其他文件的真实信息(不靠文件后缀判断) (getID3())
- 小猪猪C++笔记基础篇(四)数组、指针、vector、迭代器
- 第一太阳能公司(First Solar)在罗斯资本公司的评级上调
- TCC-Transaction TCC 实现
- java语言与c++语言相比_最突出的特点是_Java 语言与C++语言相比,最突出的特点是( )。_学小易找答案...
- 初学Python之谈
- 移动端WEB开发,click,touch,tap事件浅析
- 大数据时代如何安全使用WIFI
- vue项目中的回车登录
- 解决办法:error: item inner element must either be a resource reference or empty.
- 液压伺服控制系统设计
- 易基因 | 文献速递:重亚硫酸盐扩增子测序研究通过DNA甲基化监测急性髓系白血病MRD
- java 登录失败 显示在页面上_用友NC系统“登陆后页面显示不完全”,怎么办?...
- java geojson和数据库_GeoJson和TopoJson数据格式的对比
- Python多线程编程之线程子类化
热门文章
- ppt文件限打开次数_PPT冷知识25条!看到第一条我就翻了车…
- rpm oracle 离线,在CentOS中离线安装Oracle之安装准备
- linux怎样服务,如何在linux添加服务
- 如何实现动态加载删除android,关于android:融云IMKit-动态删除或添加plugin-的实现...
- python对象三个特性_python面向对象的三大特性
- unity3d软阴影和硬阴影的原理_Unity3D中两种默认阴影的实现
- 继BAT之后 第四大巨头是谁
- asp.net发送邮件
- 【转载】 详细介绍Flex中操作XML
- vs中c++项目的配置