• 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 

    对上述的代码,有任何疑问,可以在下方留言。 也可以给我发邮件咨询:673658917@qq.com 或者是直接加qq:673658917 转载请注明出处,谢谢合作。 睡觉舒服,那是给死人准备的,加油吧,一年后你会感谢现在的自己的。
  • 相关阅读:
    C++--第12课
    C++--第11课
    C++--第10课
    C++--第9课
    C++--第8课
    C++--第7课
    鼠标
    MessageBox函数
    Windows对应的"Hello,world"程序
    网络上有哪些免费的教育资源?
  • 原文地址:https://www.cnblogs.com/lishanshan/p/6211606.html
Copyright © 2020-2023  润新知