键盘遮挡

在群里有小伙伴用第三方来解决键盘遮挡, 在网上搜了一下, 自己做了一个demo

//开始编辑输入框的时候,软键盘出现,执行此事件
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
    int offset = self.view.frame.size.height - textField.frame.origin.y - textField.frame.size.height - 246-30;//键盘高度216

    NSTimeInterval animationDuration = 0.30f;
    [UIView beginAnimations:@"ResizeForKeyboard" context:nil];
    [UIView setAnimationDuration:animationDuration];

    //将视图的Y坐标向上移动offset个单位,以使下面腾出地方用于软键盘的显示
    if(offset < 0)
        self.view.frame = CGRectMake(0.0f, offset, self.view.frame.size.width, self.view.frame.size.height);

    [UIView commitAnimations];
}

//当用户按下return键或者按回车键,keyboard消失
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

//输入框编辑完成以后,将视图恢复到原始状态
-(void)textFieldDidEndEditing:(UITextField *)textField
{
    self.view.frame =CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);
}

上面实现了UITextFieldDelegate

 

今天做登录时遇到了同一个问题,想着直接把代码复制一下就OK了,可直接添加是不行的,找textField的frame是参照父视图的,而我把画线部分框封装成了一个View所以找偏移量应该找的是textField的父视图的

时间: 2024-10-06 06:45:51

键盘遮挡的相关文章

ios-qq空间的这个解决键盘遮挡的效果怎么实现?

问题描述 qq空间的这个解决键盘遮挡的效果怎么实现? 比如评论的button在下面,点击之后页面能向上滑动到合适的位置, 如果button在上面,页面也向下滑动到合适的位置 请问 这是要计算button的相对坐标吗?还是怎么样实现? 谢谢 解决方案 我的做法是: 1,用消息中心监听键盘弹出时间. 2,弹出键盘时候获取键盘高度,输入框上移键盘高,tableView高度减少键盘高. 3,键盘收起时候反向操作

android-Android AutoCompleteTextView的下拉框不被软键盘遮挡

问题描述 Android AutoCompleteTextView的下拉框不被软键盘遮挡 当AutoCompleteTextView的下拉框很长的时候不会被弹出的软件盘遮挡如何做? 解决方案 在配置文件的activity中设置android:configChanges参数keyboard 来处理这个事件

ios中键盘遮挡了输入框,在storyboard中怎么解决。

问题描述 ios中键盘遮挡了输入框,在storyboard中怎么解决. 在stroryboard中设计登录界面,账号和密码的输入框,一点击输入键盘就遮挡住了.这个问题怎么解决?知道的请告诉我一下,谢谢了. 解决方案 iOS解决键盘遮挡输入框的问题关于ios键盘遮挡输入框ios键盘不遮挡输入框 解决方案二: 需要添加代码来解决,判断是否弹出了键盘,然后整体移动View视图的位置,直接在stroryboard应该是不能修改 解决方案三: 因为你的输入框太低,只能监听键盘解决,或者用个iqkeyboa

怎么解决RN TextInput 被键盘遮挡的问题

在0.28版rn中,如果textinput的位置在靠近底部的位置,在textinput获取焦点后,ios上弹出的键盘会遮住textinput,导致用户无法输入:android上弹出键盘时,整个界面会被网上顶,textinput不会被遮住. 在0.28中,解决ios上该问题的方式是利用 ScrollView contentInset 属性,监听键盘的弹出和隐藏事件(keyboardWillShow/keyboardWillHide),获取键盘的高度,动态设置成 contentInset 的值. 将

Android软键盘遮挡的四种完美解决方案_Android

一.问题概述 在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图: 输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示: 输入密码时输入框被系统键盘遮挡了,大大降低了用户操作体验,这就是开发中非常常见的软键盘遮挡的问题,该如何解决? 二.简单解决方案 方法一 在你的activity中的oncreate中setContentView之前写上这个代码 getWindow().setSoftInputMode(WindowManage

Android开发软键盘遮挡登陆按钮的完美解决方案_Android

在应用登陆页面我们需要填写用户名和密码.当填写这些信息的时候,软键盘会遮挡登陆按钮,这使得用户体验较差,所以今天就来解决这个问题 1:登陆布局界面如下 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="

Android开发软键盘遮挡登陆按钮的完美解决方案

在应用登陆页面我们需要填写用户名和密码.当填写这些信息的时候,软键盘会遮挡登陆按钮,这使得用户体验较差,所以今天就来解决这个问题 1:登陆布局界面如下 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="

Android软键盘遮挡的四种完美解决方案

一.问题概述 在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图: 输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示: 输入密码时输入框被系统键盘遮挡了,大大降低了用户操作体验,这就是开发中非常常见的软键盘遮挡的问题,该如何解决? 二.简单解决方案 方法一 在你的activity中的oncreate中setContentView之前写上这个代码 getWindow().setSoftInputMode(WindowManage

关于android输入框被键盘遮挡的问题

  在android的开发中,将整个页面只使用LinearLayout编辑时,当点击输入框时,系统自带的虚拟键盘会遮挡住输入框,效果如下图,遮挡住了MSN输入框     此页面不出现虚拟键盘时是:    解决办法是在整个页面配置文件中,在LinearLayout布局外加入 <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"     android:orientation="vert