其实点击cell关闭键盘只要一句话

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView endEditing:YES];
}

监听里面的textfeild内容改变其实就是当textfeild内容改变的时候将赋值给他的数组的数据改变下就行了,用tag标示不同的textfeild

        newcell.textfeild.delegate = self;
        newcell.textfeild.tag = indexPath.row;
        newcell.textfeild.text = self.arrayWithCell3[indexPath.row];

在UITextFieldDelegate代理方法中通过tag改变相应的数据

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
    self.arrayWithCell3[textField.tag] = [textField.text mutableCopy];
    return YES;
}

加载不同的cell就是给他注册不同的cell,取的时候也那样取就行了

注册:

    [_tableveiw registerClass:[CustomCell class] forCellReuseIdentifier:@"cellID"];
    [_tableveiw registerClass:[CustomCell1 class] forCellReuseIdentifier:@"cellID1"];
    [_tableveiw registerClass:[CustomCell2 class] forCellReuseIdentifier:@"cellID2"];

加载:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell *cell = nil;
    if (indexPath.section == ) {
        cell = [tableView dequeueReusableCellWithIdentifier:@"cellID"];
        CustomCell *newcell = (CustomCell *)cell;
        newcell.label.text = @"";
        
    }else if (indexPath.section == ){
        cell = [tableView dequeueReusableCellWithIdentifier:@"cellID1"];
    }else {
        cell = [tableView dequeueReusableCellWithIdentifier:@"cellID2"];
        CustomCell2 *newcell = (CustomCell2 *)cell;
        newcell.textfeild.delegate = self;
        newcell.textfeild.tag = indexPath.row;
        newcell.textfeild.text = self.arrayWithCell3[indexPath.row];
    }
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    return cell;
}

demo链接:https://github.com/WuJiForFantasy/UITableViewCell.git

UITableView延伸:点击cell关闭键盘,加载不同cell,监听里面的textfeild内容改变的更多相关文章

  1. UITableView与UISearchController搜索及上拉加载,下拉刷新

    #import "ViewController.h" #import "TuanGouModel.h" #import "TuanGouTableVi ...

  2. iOS - UITableView加载网络图片 cell适应图片高度

    使用xib创建自定制cell   显示图片   创建一个继承UITableViewCell的类   勾选xib 如下是xib创建图 xib 向.h拖拽一个关联线 .h .m 2.代码创建(使用三方适配 ...

  3. UITableView:下拉刷新和上拉加载更多

    [转载请注明出处] 本文将说明让UIScrollView支持"下拉刷新"和"上拉加载更多"的实现机制,并实现一个可用的tableView子类,以下主要以&quo ...

  4. UITableview优化随笔(1)-提高加载更多内容时的效率

    UITableView上拉加载更多的功能相信很多应用都会用到,类似朋友圈.微博这样的应用,tableView中的数据内容高度根据内容来变化,同时需要加载大量的数据(上拉加载更多),要怎样才能保证加载数 ...

  5. 实现点击不同的按钮加载不同的css

    这段时间做一个小网站发现有时候特别需要点击不同的按钮去加载不同的css,这样可以确定点击的是哪个,由于每个按钮都是从后端数据库加载过来的,不仅是简简单单的用id或者是类名,用过this也不行: 前端加 ...

  6. iOS Cell异步图片加载优化,缓存机制详解

    最近研究了一下UITbleView中异步加载网络图片的问题,iOS应用经常会看到这种界面.一个tableView上显示一些标题.详情等内容,在加上一张图片.这里说一下这种思路. 为了防止图片多次下载, ...

  7. 小程序wx.previewImage查看图片再次点击返回时重新加载页面问题

    wx.previewImage预览图片这个过程到底发生了什么? 首先我们点击图片预览,附上查看图片代码: <image class="headImg" data-src=&q ...

  8. 关于MATSIM中,如何关闭自动加载dtd的问题

    有用过MATSIM做交通仿真的朋友应该都知道,在创建Scenario时,会默认加载matsim官网的netword的dtd文件,然后因为网络的问题,加载往往会报错,从而造成系统异常退出,如图所示: 根 ...

  9. nginx-启动|关闭|重新加载配置文件的命令

    1.1 进入操作目录 D: cd D:\NginxTest\nginx-1.10.2 1.2 启动指令 nginx -c conf\nginx.conf 1.3 关闭指令 nginx -s stop ...

随机推荐

  1. mysql查询问题

    需求:根据选择不同的分类id,查找到同时属于选中的分类的文章id sql语句: select result,GROUP_CONCAT(category_id) from (select categor ...

  2. ycsb安装和使用介绍

    nosql性能测试工具ycsb0.1的使用 使用文档参考地址:https://www.cnblogs.com/SailorXiao/p/5808828.html ycsb地址:https://gith ...

  3. hadoop中修改端口号

    1.hdfs-site.xml 这里修改hdfs相关的端口. 1 <property> 2 <name>dfs.namenode.scondary.http-address&l ...

  4. 诊断 Grid Infrastructure 启动问题 (文档 ID 1623340.1)

    适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.1 和更高版本本文档所含信息适用于所有平台 用途 本文提供了诊断 11GR2 和 12C G ...

  5. Eclipse 和 MyEclipse 工程描述符

    有时候在一个Java工程里我们需要加入第三方jar包,这时你加入的最好相对路径, 而不是绝对路径.否则你的工程拿到别处就不行运行了.意思就是说你最好把相关的jar放到工程目录下. 对于Web工程来说相 ...

  6. Could not resolve matching constructor (hint: specify index/type/name arguments for simple parameter 标签: 构造器注入Spring

    问题:要么是因为构造方法改变了,要么就是构造方法入参实例化失败(比如没有实现) 问题 在练习spring构造器注入方式的小程序的时候报错: Exception in thread “main” org ...

  7. 公共Service的抽取小例

    package cn.sxx.service; import java.util.List; public interface BaseService<T,Q> { public void ...

  8. HTML5 Geolocation(地理位置)

    HTML5 Geolocation(地理位置).是用来定位用户的位置的. HTML5 Geolocation API 用于获得用户的地理位置,鉴于该特性可能侵犯用户的隐私权,除非用户同意,否则不能获取 ...

  9. c# DateTime常用用法

    参考:http://sqlyuju.com/c-datetime-hh-hh-qubie.html https://www.cnblogs.com/xiongxiaobai/p/5282827.htm ...

  10. git 的.gitignore

    # vs code .vscode # Logs *.log #npm node_modules