ios tableview 上加 textfiled
ios tableview 上加 textfiled
首先附上我项目中用曾经用到的几张图 并说明一下我的用法:
图1:

图2:

图3:
心在你我说一下 我当初的实现 方法 ,希望能给你们一些 启示
图1: 我采用的是最简单的方法 因为cell的个数比较少 并且不会出现键盘把cell挡住的情况 所以我直接就是用的 view 上边加 label +textfield 虽然代码很繁琐 但是 还是实现了基本的效果
图2:由于这个cellde 个数比较多 再使用 view+label+textfield的方法 就不现实了, 所以我 就找各种办法,终于 找到 cell可以跟随键盘移动了,也就是说 键盘不会挡住输入框,我采用的是tableviewcontroller ,只有使用 TableviewController就很容易的实现了我想要的效果。 但是 后来在开发中遇到一个问题 : 因为使用的是UItableviewContrller 当时我们的设计就说 可不可以将下边的按钮审核中 让他的位置固定 ,不随tableview的滚动而滚动,但是我也是尝试了各种的办法,但是还是没有办法实现,所以最后ui妥协了 就让他随位置移动吧 ,因为tableviewcontroller 虽然帮助我们实现了很多的功能,但是 在界面是就比较局限了,远远比不上 uiviewcontroller+tableview 灵活。
图3: 最近又要做 类似于 图2 的 图,我终于 还是 不能容忍自己 使用uitableviewcontroller了 所以我还是 试了很多 就是 如图三实现的效果: 当键盘出来的时候 不会挡住uitextfield 不影响用户的体验,那么我是如何实现的呢?
思路:
uiviewcontroller+uitableview
让tableview 的当前编辑的cell 始终处于 tableview 的中间位置,这样的话就不会被挡住了。当然了 tableview 里边就有相应的方法:
[_tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES];
是的 使用这个方法就可以了。
发上代码:
#pragma mark - 改变tableview的位置(当将要编辑的时候)
-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ NSIndexPath *indexPath = [NSIndexPath indexPathForRow:textField.tag inSection:0]; //将要编辑的textfield 所在的cell 使其滚动到中间的位置 [_tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionMiddle animated:YES]; return YES;
}
没错使用这个就可以实现了。是不是感觉很神奇ne
ios tableview 上加 textfiled的更多相关文章
- iOS tableview上textView在编辑状态时,tableview自动上移的功能
在viewcognroller中,添加tableview时, tableview中cell上的textField如果吊起键盘时,tableview时可以自动上移,但是如果是textView吊起键盘,t ...
- iOS Safari 上加载的最大的图片尺寸
做WAP端项目时发现, 写css代码显示图片, 却显示不出.或用canvas 来加载图片的某一部分的时候显示不出, 代码如下: background: url() no-repeat -1000px ...
- iOS tableview上放textfield
用UITableViewController就可以了,处理键盘弹出和消失的代码已经封装在UITableViewController里了.
- ios在tableview里面加subview后在ip4和ip5上显示不一样的问题
文章链接:http://quke.org/post/ios-tableview-addsubview-height.html (转载时请注明本文出处及文章链接) 我在在tableview里面加subv ...
- 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题
微信多图片上传必须挨个上传,也就是不能并行,得串行: 那么我们可以定义一个如下所示的上传函数: var serverIds = []; function uploadImages(localImage ...
- https加载http资源,导致ios手机上的浏览器图片加载问题
今天解决一个线上bug的时候发现的问题,如下图: 从表象来看,同样的图片,安卓手机上可以正常展示,但是到ios手机上首次进入页面就不能正常显示图片,必须手动刷新一次页面才能正常加载. 这时候,我们首先 ...
- Safari配置WebApp----添加启动图和桌面图标让你的WebApp在ios设备上体验如原生一样
现在很多开发者的Web应用程序的设计样式和交互类似本机应用程序,例如,它的缩放比例适合iOS上的整个屏幕.当用户将其添加到主屏幕时,您可以通过使其看起来像本机应用程序一样,在iOS上为您的Web应用程 ...
- 在TableView上添加悬浮按钮
如果直接在TableVIewController上贴Button的话会导致这个会随之滚动,下面解决在TableView上实现位置固定悬浮按钮的两种方法: 1.在view上贴tableView,然后将悬 ...
- 如何在iOS地图上高效的显示大量数据
2016-01-13 / 23:02:13 刚才在微信上看到这篇由cocoachina翻译小组成员翻译的文章,觉得还是挺值得参考的,因此转载至此,原文请移步:http://robots.thought ...
随机推荐
- Android 不能勾选 Project Build Target
再勾选完project bulid target,从新返回这个页面,发现还是没有被勾选上. 从新刷新一下项目,原因是project.properties配置文件没有加载上. 下回导入的项目第一件事就是 ...
- Tsinsen A1516. fx 数位dp
题目: http://www.tsinsen.com/A1516 A1516. fx 时间限制:2.0s 内存限制:256.0MB 总提交次数:164 AC次数:72 平均分:51. ...
- office文件密码破解方法及软件
今天会用到3个软件 1.Office Password Remover 说明:这个软件可以很快破解.doc .xls的密码 使用方法:参考百度经验里面的文章http://jingyan.baidu ...
- YUV格式总结
1. YUV是被欧洲电视系统所采用的一种颜色编码方法(属于PAL),是PAL和SECAM模拟彩色电视制式采用的颜色空间.在现代彩色电视系统中,通常采用三管彩色摄影机或彩色CCD摄影机进行取像,然后把取 ...
- A Tour of Go Structs
A struct is a collection of fields. (And a type declaration does what you'd expect.) package main im ...
- javascript中call和apply方法
我们可以将call和apply看做是某个对象的方法,通过调用方法的形式来间接调用函数.call和apply的第一个实参是要调用函数的母对象,它是调用上下文,在函数体内通过this来获得对它的引用. 例 ...
- boost------function的使用(Boost程序库完全开发指南)读书笔记
function是一个函数对象的“容器”,概念上像是c/c++中函数指针类型的泛化,是一种“智能函数指针”.它以对象的形式封装了原始的函数指针或函数对象,能够容纳任意符合函数签名的可调用对象. 因此, ...
- sp_send_dbmail权限问题
这段时间处理SSIS服务器迁移的事情,在处理一个发送邮件的任务的时候,突然出现如下错误, 拒绝了对对象 'sp_send_dbmail' (数据库 'msdb',架构 'dbo')的 EXECUTE ...
- linux下查询域名或IP注册信息的操作记录(whois)
在运维工作中,有时需要查询某些域名的注册信息(域名的NS,注册用户,注册邮箱等),可以使用whois这个命令.whois命令令用来查找并显示指定帐号(或域名)的用户相关信息,因为它是到Network ...
- 【转】C++ 类中的static,const,及引用类型的初始化
文档主要来自:http://blog.csdn.net/yjkwf/article/details/6067267 1. static类型 用static可以为类类型的所有对象所共有,像是全局对象,但 ...