IOS 防止键盘遮挡文本框

原创 2013年12月04日 13:55:51

在开发中我们经常会碰到键盘遮挡文本框的问题,在这里总结一下解决方法

将文本框的delegate设置为File's Owner或者使用代码textField.delegate=self;

在文本输入框所对应的类中实现UITextFieldDelegate协议,然后在其.m文件中实现UITextFieldDelegate的三个方法,三个方法代码如下:

-(void)textFieldDidBeginEditing:(UITextField *)textField{
    CGRect frame=textField.frame;
    //frame.origin.y+32//文本框的位置与文本框的高度,32取文本框的高度
    //self.view.frame.size.height-216//view减去键盘高度,如果offset大于零表示有遮挡,否则表示没有遮挡
    int offset=frame.origin.y+32-(self.view.frame.size.height-216);//键盘高度 216
    
    NSTimeInterval animationDuration=0.20f;
    [UIView beginAnimations:@"ResetForKeyboard" context:nil];
    [UIView setAnimationDuration:animationDuration];
    if(offset>=0){
        self.view.frame=CGRectMake(0.0f, -offset, self.view.frame.size.width, self.view.frame.size.height);
        [UIView commitAnimations];
    }
}
//点击return 隐藏键盘
-(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);
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

iOS 键盘遮挡文本框

在iOS上,输入法键盘不会和Android一样,点击空白处自动收回,系统也不会帮忙处理键盘遮挡住文本框的问题。 这在对于很多刚入门的同学来说,处理起来是有一定困难的。即使已入门的开发者,也是相当繁琐的...

iOS键盘与文本框的处理(二)

上文,我们叙述来了键盘与文本框最简单的情况,接下来,我们来讲一讲在tableview中多个文本框与键盘的处理。我们在每一行cell都添加上了文本框,cell过多的话是可以滚动的,这里的textfiel...

iOS开发 UITextView(多行文本框)控件的一些用法(显示文字 退出键盘等)

1.创建并初始化 创建UITextView的文件,并在.h文件中写入如下代码: [csharp] view plaincopy   #import   ...

iOS 开发 UITextField常用属性:文本框样式、文字样式、键盘样式、左右视图样式、清除按钮设置等

参考:UITextField常用属性:文本框样式、文字样式、键盘样式、左右视图样式、清除按钮设置等UITextField 常用属性:(1)可以根据需要设置文本框的样式(包括形状、边框颜色、背景等)。(...

iOS中键盘与文本框的处理(一)

很多情况下,我们在处理文本框的时候,都得考虑到,如果键盘出现了,会不会将键盘给盖住。如果盖住了,我们就得调整一下文本框的位置。那我们来设置一下我们的思路。首先,我们要知道键盘的坐标是怎么处理的。如下图...

iOS文本框样式,键盘样式,清除按钮设置,左右视图

(1)可以根据需要设置文本框的样式(包括形状、边框颜色、背景等)。 (2)可以根据需要设置文字显示样式(包括输入密码时的密文显示、文字横向居中、纵向居中上下、输入的文字是否首席木大写、文字超过...

iOS开发 键盘处理 (隐藏,自动转到下个文本框,轻触背景隐藏)

一、点击“Return”键 隐藏自身软键盘         当对于有多个UITextField控件都想通过点击“Return”来隐藏自身软键盘的情况,这时的最好办法是使用Did End on Exi...

点击某个TextField无法收回所有TextField的键盘,比较特殊(点击的是文本框,而不是done)--iOS 开发

如题:点击某个TextField无法收回所有TextField的键盘,比较特殊(点击的是文本框,而不是done)。 网上搜的答案,都不是这种情况,虽然很多无法回收键盘的案例,但是没人写这个案例,所以...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)