iOS 关于tableView中有多个textField,输入框被遮住的解决方法

这里采用tableView整体上移的方法。

代码:(其中 60 为 单元格的高度)

//点击输入框触发
- (void)textFieldDidBeginEditing:(UITextField *)textField{
    //键盘高度
    CGFloat keyboardHeight = 216.0f;
    //获取tag
    NSLog(@"hhhhh === %d",textField.tag);
    //判断键盘高度是否遮住输入框,具体超过多少距离,移动多少距离(自己算好就可以,不一定和这里一样)
    if (self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) < 0 &&self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) > -60) {

        [self.tableViews setContentOffset:CGPointMake(0, 50) animated:YES];
    }
    else if (self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) < -60 &&self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) > -120)
    {
        [self.tableViews setContentOffset:CGPointMake(0, 110) animated:YES];
    }
    else if (self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) < -120 &&self.tableViews.bounds.size.height - keyboardHeight - 60 * (textField.tag + 1) > -180)
    {
        [self.tableViews setContentOffset:CGPointMake(0, 170) animated:YES];
    }
}

//键盘收回触发
- (void)textFieldDidEndEditing:(UITextField *)textField{
     //回归原处
    [self.tableViews setContentOffset:CGPointMake(0, 0) animated:YES];

}
时间: 2024-10-06 15:22:22

iOS 关于tableView中有多个textField,输入框被遮住的解决方法的相关文章

iOS --?No provisioning profiles with a valid signing identity 一种解决方法

1.删除原有“钥匙串访问”中疑是过期的的证书: 2.在Member Center中Certificate中删除疑是有问题的Certificate,重新添加新的Certificate: 3.在“钥匙串访问” - 证书处理 - 从证书颁发机构请求证书,生成新的CertificateSigningRequest.certSigningRequest: 4.在2中选取3中的CSR文件,生成新的Certificate: 5.在Target 中的Team 选择,Fix issue: 问题得到解决. iOS

IScroll5+在ios、android点击(click)事件不兼容解决方法

Bug描述: ios.android4.4+下不能触发click事件. Bug解决: 调用iscroll插件,增加配置参数:click:true/false click的值是要根据移动终端设备进行判断,如果只是简单的判断终端类型的话,android4.4+还是不能点击,这就是安卓的一个坑,毕竟没有IOS系统做的统一. 故增加一个函数去判断: // ######### function iScrollClick(){ if (/iPhone|iPad|iPod|Macintosh/i.test(n

bullet, iOS真机编译错误error: identifier or immediate expression expected解决方法

刚才发现c3dEngine2(http://git.oschina.net/wantnon2/c3dEngine2 或 https://github.com/wantnon2/c3dEngine2)的bulletTest1 demo在iOS真机上编译不过,报error: identifier or immediate expression expected的编译错误. google了一下,找到下面帖子:http://www.bulletphysics.org/Bullet/phpBB3/view

Swift iOS项目archive操作会报错误built without full bitcode解决方法

Swift iOS项目集成阿里云和百度地图SDK时,archive操作会报下面的错误,原因是缺了相关的bitcode,详见参考文章.解决办法是在编译脚本增加配置 xcodebuild OTHER_CFLAGS="-fembed-bitcode" -target XXXX build ld: bitcode bundle could not be generated because '/Users/zhangxitao/work/shine-ios/Carthage/Build/iOS/

iOS &quot;此证书由未知颁发机构签名&quot;此问题的解决方法

前段时间制作证书时把以前钥匙串中的证书全删除了,然后在制作新证书的时候就出现了"此证书由未知颁发机构签名"的红色警告,通过查找资料发现出现此问题的原因是:我把钥匙串中的此证书给删除了,它是iPhone Developer证书的签发者,如果它被删除就会导致iPhone Developer证书被识别为未知颁发机构签名,然后xcode中真机调试就会出现上面的错误. 解决办法:重新把AppleWWDRCA放回去:从Apple官网(http://www.apple.com/certificate

iOS 9以上系统调用不了支付宝客户端只能调用网页解决方法

1.为了适配 iOS9.0 中的 App Transport Security(ATS)对 http 的限制,这里需要对 支付宝的请求地址 alipay.com 做例外,在 app 对应的 info.list 中添加如下配置 (文中以 XML 格式描述). 2.同时需要在Plist中设置支付宝为白名单 ,最后两项(item5和item6)

奔五的人学ios:swift竟然没有字符串包括,找个简单的解决方法

swift关于字符串的推断中 有前导.有后缀 两个方法.竟然没有包括推断. 经过学习找了个简单的解决方法: extension String { func has(v:String)->Bool { return self.componentsSeparatedByString(v).count > 1 } }

Android or iOS 运行 meteor App 屏幕一片空白 White screen的解决方法

在mac上出现这种错误,多是与文件夹的权限有关,有人建议把~/.meteor目录删除,重新下载安装.在墙内重新下载安装的代价非常之大. 简单的解决方法,便是把~/.meteor,以及当前项目目录的权限完全放开 chmod -R 777 * 在build过程中遇到未名的错误,可以尝试把cordova plugin移除,重新添加.注意不要使用sudo.

奔五的人学ios:swift居然没有字符串包含,找个简单的解决方法

swift关于字符串的判断中 有前导,有后缀 两个方法,居然没有包含判断. 经过学习找了个简单的解决方法: extension String { func has(v:String)->Bool { return self.componentsSeparatedByString(v).count > 1 } }