美文网首页iOS Developer#iOS#HeminWon
UITableView中cell嵌套UITextField(UI

UITableView中cell嵌套UITextField(UI

作者: SupperRay | 来源:发表于2016-08-11 18:40 被阅读2484次

      不喜欢说废话,如果你选择看这篇文章,那对tableView就有一定的了解,所以我也不多说了。关于今天的主题,我还没有具体在项目中碰到过(此前并没有相关的需求),是一个朋友在聊天中询问我的,我于是也试了一下。

没做任何处理情况

      在没有做任何处理的情况下,我在前七个Cell中的textField(显示在屏幕上的Cell)输入了一些字符,然后上滑拉去下面的Cell,可以发现第第九个和第十个Cell中的textField尽然已经有内容了(第八个并没有复用,因为第八个出现时第一个还在屏幕上并没有完全消失,所以未放入重用队列),原因就是因为第八个和第九个Cell重用了从屏幕上消失而放进重用队列的第一个和第二个Cell,如果你继续往下拉的话就会发现第十一个重用了第三个Cell,以此类推。

      所以如果不做任何处理,由于UITableView的重用机制就会导致类似的问题,如果Cell的高度不同且能够手动改变的话还有更复杂的问题,今天不做分析,就来解决目前的问题。首先还是上代码吧:

Cell属性定义

用一个代码块来完成textField文本信息改变后的传值操作。

Cell中具体方法

在textField中的代理方法中将修改过后的文本内容传递出去

Cell方法内部

      具体步骤和原理我已经注释清楚了,总的原则就是用一个数据结构保存Cell中不固定部分的属性值或者内容,在每次加载Cell时重新对Cell的这部分属性或者内容赋值,希望能够帮您解决问题,谢谢浏览!

相关文章

网友评论

    本文标题:UITableView中cell嵌套UITextField(UI

    本文链接:https://www.haomeiwen.com/subject/wndssttx.html