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的更多相关文章

  1. iOS tableview上textView在编辑状态时,tableview自动上移的功能

    在viewcognroller中,添加tableview时, tableview中cell上的textField如果吊起键盘时,tableview时可以自动上移,但是如果是textView吊起键盘,t ...

  2. iOS Safari 上加载的最大的图片尺寸

    做WAP端项目时发现, 写css代码显示图片, 却显示不出.或用canvas 来加载图片的某一部分的时候显示不出, 代码如下: background: url() no-repeat -1000px ...

  3. iOS tableview上放textfield

    用UITableViewController就可以了,处理键盘弹出和消失的代码已经封装在UITableViewController里了.

  4. ios在tableview里面加subview后在ip4和ip5上显示不一样的问题

    文章链接:http://quke.org/post/ios-tableview-addsubview-height.html (转载时请注明本文出处及文章链接) 我在在tableview里面加subv ...

  5. 微信JSSDK多图片上传并且解决IOS系统上传一直加载的问题

    微信多图片上传必须挨个上传,也就是不能并行,得串行: 那么我们可以定义一个如下所示的上传函数: var serverIds = []; function uploadImages(localImage ...

  6. https加载http资源,导致ios手机上的浏览器图片加载问题

    今天解决一个线上bug的时候发现的问题,如下图: 从表象来看,同样的图片,安卓手机上可以正常展示,但是到ios手机上首次进入页面就不能正常显示图片,必须手动刷新一次页面才能正常加载. 这时候,我们首先 ...

  7. Safari配置WebApp----添加启动图和桌面图标让你的WebApp在ios设备上体验如原生一样

    现在很多开发者的Web应用程序的设计样式和交互类似本机应用程序,例如,它的缩放比例适合iOS上的整个屏幕.当用户将其添加到主屏幕时,您可以通过使其看起来像本机应用程序一样,在iOS上为您的Web应用程 ...

  8. 在TableView上添加悬浮按钮

    如果直接在TableVIewController上贴Button的话会导致这个会随之滚动,下面解决在TableView上实现位置固定悬浮按钮的两种方法: 1.在view上贴tableView,然后将悬 ...

  9. 如何在iOS地图上高效的显示大量数据

    2016-01-13 / 23:02:13 刚才在微信上看到这篇由cocoachina翻译小组成员翻译的文章,觉得还是挺值得参考的,因此转载至此,原文请移步:http://robots.thought ...

随机推荐

  1. UI之UItableView重用机制的性能问题

    *:first-child { margin-top: 0 !important; } body > *:last-child { margin-bottom: 0 !important; } ...

  2. aix 文件大小相关查询

    一.aix中查看文件夹占用空间大小 du命令默认是显示当前目录下每个文件以及每个子目录以及下属文件的大小的 用du -sg 可看出当前文件夹的大小,包括文件夹下文件和文件夹(以G为单位):用du -s ...

  3. HDU 4622 Reincarnation(SAM)

    Problem Description Now you are back,and have a task to do:Given you a string s consist of lower-cas ...

  4. 搭建Windows Azure开发环境-环境搭建

    虚拟机中运行 练习1:使用远程桌面连接到虚拟机 在本节中,你会登录到Windows Azure的门户网站,并使用Windows Azure库创建的Azure虚拟机. 任务1 -配置的Visual St ...

  5. ACM2032

    杨辉三角 Problem Description 还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 ...

  6. HW3.23

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  7. Fibonacci数列小程序

    Fibonacci数列小程序 问题分析:Fibonacci数列特征是前两项数均为1,从第三项起,前两项的和为第三项的数的数值用公式归纳起来为:f1=f2=1.f1=f1+f2.f2=f1+f2. 程序 ...

  8. PHP中Get()和Post()用法详解

    作为一个计算机系统,输入输出设备作为非核心设备却是不可或缺的,硬件如此,软件亦是如此.试想一台功能强劲的计算机,如果没有输入输出设备,它与一块只能耗电并且发出嗡嗡噪音的废铁有何不同.应用程序的道理也是 ...

  9. 关于SpingMVC实现文件下载你所不知道的

    http://www.cnblogs.com/yolanda-lee/p/4683422.html 文件的上传下载一般在项目中还是非常实用的,此处专门整理一下文件的下载,至于文件的上传实现将在后续中补 ...

  10. Lucene教程具体解释

    (建立索引)] )中生成的索引文件的存放地址.详细步骤简单介绍例如以下: 1.创建Directory对象,索引目录 2.创建IndexSearch对象,建立查询(參数是Directory对象) 3.创 ...