cell中的文本框————bug

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cell中的文本框————bug相关的知识,希望对你有一定的参考价值。

根据要求需要制作一个报表,我一UItableView为主体,自定义cell,在cell中添加文本框以便输入相应字段,

要求:1,当我们改变表格对应行的内容时会自动计算相应列的总和【相信大家用过Excel 原理差不多了】

我再文本框失去焦点时,调用代理方法通知UItableView的页面进行计算并刷新数据源和表格

 

 

bug:导致文本框不能正常的获取焦点,但我们页面上已经有获取焦点的文本框时,又去点击另外的文本框,此时新的文本框不能获取焦点,但会弹出键盘,且键盘无法收起,通过监听文本框的代理发项,文本框执行到了即将获取焦点的方法【

textFieldShouldBeginEditing

】后便不再往下面执行

原因:当我们上一个文本框失去焦点后出发代理方法会刷新数据源和表格,但是又点击了新的文本框,新的文本框获取焦点的时候,表格刷新,新文本框所在的cell死了,此时出现在用户视野中的是另一个相同的文本框,他没有获取焦点,这样就造成了上述的情形,同时弹出的键盘与文本框没有关联 也无法收起【纯属个人理解.......】

我想的解决方法:使用异步执行代理,处理数据并刷新UI[在主线程中刷新UI]

bug:不会出现上述的bug,但是这样当点击新的文本框的时候,新的文本框不会立即获取焦点,而是就的文本框失去焦点,再点一次才会获取焦点,这样依然点击了两次才回去焦点,想对而言不会出现键盘时刻的情况,但是体验依然不好

解决:不用异步,不刷新整个表格,只刷新需要的cell即可,在这个功能中只需要刷新合计项的数据就好了

以上是关于cell中的文本框————bug的主要内容,如果未能解决你的问题,请参考以下文章

Bug - 文本框oninput事件,在中文输入法状态多次触发

Android WebView 文本框确认密码第二个获取焦点后设置不能自动放大

如何让word文本框中的文字垂直上下居中

word中的文本框为啥不能输入文字

powerpoint添加文本框,能不能把文本框居于中间位置,不是文本中的文字居中,而是文本框居中。

从C#中的WPF组合框或文本框获取文本