在iPhone的短信对话界面中,当点击下方的输入框时,整个信息列表界面的大小会自动发生改变并保证界面内容不被键盘所覆盖.要实现这种效果需要在键盘将要弹出时使用代码动态的改变整个View的大小.
首先在viewDidLoad中注册键盘弹出事件监听器:
[[NSNotificationCenterdefaultCenter] addObserver:selfselector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotificationobject:nil];
在键盘弹出时,获得键盘高度,动态改变View大小:
-(void) keyboardWillShow:(NSNotification *)note
{
NSLog(@"keyboardWillShow %d",keyboardIsShowing);
CGRect keyboardBounds;
[[note.userInfo valueForKey:UIKeyboardBoundsUserInfoKey] getValue: &keyboardBounds];
keyboardHeight = keyboardBounds.size.height;
NSLog(@"keyboardHeight = %d",keyboardHeight);
if (keyboardIsShowing == NO)
{
keyboardIsShowing = YES;
NSLog(@"change %d %f",keyboardIsShowing,self.view.frame.size.height);
CGRect frame = self.view.frame;
frame.size.height -= keyboardHeight;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.3f];
self.view.frame = frame;
[UIView commitAnimations];
}
}
需要注意的是在界面退出时务必removeObserver.
转载请注明:来自ZhaoZhe's Blog
本文地址:http://zhao-zhe.appspot.com/?p=138001
相关推荐
界面多个输入框,软键盘遮挡输入框。底部菜单弹出!
当键盘高度高于输入框的时候,界面向上拉 从而解决输入框遮挡问题
前者是单行输入文本框,后者是可滑动的多行输入文本框,在这整个开发过程中,我们需要控制键盘的弹出和收起、在输入结束的时候获取输入的信息,此外,我们还需要保证在键盘弹起的时候不遮挡我们输入的文本框。...
在开发中,经常会遇到键盘挡住输入框的情况,比如登录界面或注册界面,弹出的软键盘把登录或注册按钮挡住了,用户必须把软键盘收起,才能点击相应按钮,这样的用户体验非常不好。像微信则直接把登录按钮做在输入框的...
在开发微信小程序的时候遇到,输入用户名或者手机号以及地址,手机键盘调起来,会把输入框遮挡。 如图: (此图片来源于网络,如有侵权,请联系删除! ) (此图片来源于网络,如有侵权,请联系删除! ) 以上两张图是自己...
弹出软键盘时: ios端$(‘body’).scrollTop()会改变 android端$(window).height()会改变 拉起键盘不是一瞬间,而是有一个缓动过程 问题重现 ios端,经常会出现输入法遮挡输入框的问题(特别是那种有一个白色顶部的...
用这个处理Android处理键盘的方法,感觉真是爽通了!建议你也试试,将本单元加到项目即可。再回头看看Delphi的例子,就显得太弱了!
键盘挡住输入框终极解决办法
该源码由源码天堂IOS源码频道免费提供下载。源码实现让弹出的键盘永远遮挡不住输入框。输入框在弹出输入键盘的时候往上...也就是说,当弹出的键盘挡住界面某些内容时,页面会整体往上移动,从而显露出被遮挡的内容。
之前要做一个弹出对话框,填写信息,发现在手机上看的时候,较后的输入框在填写信息时,输入框被输入法遮挡,只能盲填。 前提 1.弹出的对话框用display:fixed定位的 2.对话框大小固定 解决办法 css部分 (dlg-top与...
ios浏览器上输入法会弹出遮挡输入框问题,下面小编给大家分享scrollTop()解决IOS中输入法遮挡输入框问题,一起看看吧
Android高级应用源码-android解决软键盘遮挡输入框的示例代码.zip
输入密码时输入框被系统键盘遮挡了,大大降低了用户操作体验,这就是开发中非常常见的软键盘遮挡的问题,该如何解决? 二、简单解决方案 方法一 在你的activity中的oncreate中setContentView之前写上这个代码 ...
自定随机密码键盘并适配计算界面需要滚的高度防止弹出的popupwindow遮盖点击的输入框
点击输入框后,弹出的键盘遮挡了输入框,然后你就无法看见你输入了什么。为了解决这个问题,我也在网上花了不少时间去找相关的代码以及实现。 找到的相关内容很多,但是都有一个共同点,是通过将底部的View上滑至...
An auto-adjust keyboard and your control likes some button position util.一个自动适应你的键盘弹起收回以及你的控件位置的工具
之前我们在使用vue进行 h5 表单录入的过程中,遇到了Android软键盘弹出,覆盖 h5页面 输入框 问题,在此进行回顾并分享给大家,感兴趣的朋友跟随脚本之家小编一起学习吧
在使用ionic开发ios系统微信的时候遇到一个bug,在填写表单的时候键盘会挡住输入框。下面小编给大家带来了ionic在开发ios系统微信时键盘挡住输入框的解决方法(键盘弹出问题),非常不错,有需要的朋友参考下吧