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 ...
随机推荐
- 【原】1.1RDD源码解读(一)
1.RDD(Resilient Distributed DataSet)是Spark生态系统中最基本的抽象,代表不可变的.可并行操作的分区元素集合.RDD这个类有RDD系列所有基本的操作,比如map. ...
- 算法导论学习-binary search tree
1. 概念: Binary-search tree(BST)是一颗二叉树,每个树上的节点都有<=1个父亲节点,ROOT节点没有父亲节点.同时每个树上的节点都有[0,2]个孩子节点(left ch ...
- Excel中VBA 连接 数据库 方法- 摘自网络
Sub GetData() Dim strConn As String, strSQL As String Dim conn As ADODB.Connection Dim ds As ADODB.R ...
- 用g++ 编译 ffmpeg 编译出现 error: 'UINT64_C' was not declared in this scope 或 missing -D__STDC_CONSTANT_MACROS
在 libavutil/common.h 下 添加如下,即可解决 #ifdef __cplusplus#define __STDC_CONSTANT_MACROS#ifdef _STDINT_H#un ...
- 由.Net类库提供的农历计算(C#农历)-获取当前日期的农历日期
; i <= chineseDate.GetMonthsInYear(DateTime.Now.Year); i++) { Console.W ...
- 问题-"Record not found or changed by another user"
回答1:===============================================================问题:clientdataset“Record not found ...
- 教程-FastReport 的安装 心得
由于要使用报表,所以下载了FastReport 4.7.91,由于是第一次安装和使用FastReport报表,所以在安装的时候走了点弯路.把心得写一下吧. 我是第安装第二遍才完全理解安装过程,也可以定 ...
- 【转】html input radio取得被选中项的value
html代码: <input id="rad" name="rad" type="radio" value="1" ...
- ZOJ 1914 Arctic Network (POJ 2349) MST
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1914 http://poj.org/problem?id=2349 题目大 ...
- EasyUI实例源码
jQuery+EasyUI实例源码 http://www.51aspx.com/code/jQueryEasyUIExample ASP.NET MVC+EF+EasyUI权限 http://www. ...