iOS 滑动UITableView,UITextField文字消失的解决办法

问题还原:

以前在项目中经常遇到在UITableView上添加UITextField,高度不超过屏幕还好,超过屏幕之后就会发现文本消失。问题如下:

未处理前.gif

因此,就想到对输入的数据进行保存,然后再进行展示。部分代码展示如下:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    TableViewCell *cell =[tableView dequeueReusableCellWithIdentifier:@"id"];
    
    if (!cell) {
        cell = [[TableViewCell alloc]initWithStyle:(UITableViewCellStyleDefault) reuseIdentifier:@"id"];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    //2.对输入框tag绑定,并设置代理
    cell.label.tag = indexPath.row;
    cell.label.delegate = self;
    cell.label.text = [_writeArray safe_objectAtIndex:indexPath.row];

    return cell;
}
//3.对输入的文本插入到数组中
- (void)textFieldDidEndEditing:(UITextField *)textField {
    [_writeArray replaceObjectAtIndex:textField.tag withObject:textField.text];
}

//4.获取lastIndex
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    lastIndex = textField.tag;
    return YES;
}

完成之后,效果图如下:

处理后.gif

demo链接

如果这篇文章对你有所帮助,就给个赞👍吧。O(∩_∩)O哈哈~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 文/夙沙凌醉 听那清风带来沁入心扉的声音,如同微风拂动风铃那么空灵,又好像雨淋过的天空那么纯粹,那是让你回归的音信...
    夙沙凌醉阅读 378评论 0 0
  • 我在收麦子 笼子里只有一点麦粒 在偌大的麦场里没有找到自己的地方 看到大家的麦粒堆很高 而自己只有笼底那么多 场里...
    田萍阅读 255评论 2 8
  • 第一章 回家 夜,已是寒冬十月。 面馆,这是县城里一家很有特色的面馆,这里只有一个人在吃饭,看样子是挨饿多时了,因...
    方灏阅读 1,588评论 1 2