在UITableView中包含UITextFields的消失单元格的奇怪问题

时间:2010-07-17 21:39:23

标签: iphone objective-c

我的屏幕功能与地址簿联系人屏幕类似。

屏幕在UITableView中显示一些数据,并提供“编辑”按钮。

当用户按下“编辑”时,UITableView会动画显示“编辑模式”中的数据。

“查看模式”中的字段与“编辑模式”中的字段之间没有1:1的关系。例如,“查看模式”单元格可能包含类似“John Doe”的名称,编辑模式可能包含两个单元格,一个用于“名字”,另一个用于“姓氏”。

“编辑模式”中的单元格左侧包含标签,右侧包含UITextField(就像联系人一样)。

所有这一切都很有效。没问题。调整键盘和一切。喜欢它。

我遇到的问题是当用户点击“编辑”,并点击其中一个UITextField但从未按下“下一步”/“完成”按钮---并且键盘仍然显示(UITextField是仍然是第一个响应者)---

如果,当UITextField仍然是firstResponder时,用户按下“完成编辑”按钮,表格动画回“查看模式”,用户重新进入“编辑模式”,其中一个UITableViewCells将是丢失(随机,因为它们被重用)。

如果用户然后在另一个UITextField上重复该过程,则下一次等等将丢失两个单元格等。

我的理论是没有正确发布的东西,这导致细胞重用机制以某种方式破坏......但我很确定这不是我的代码本身的问题。

我的问题是;谁看过这个吗?这是一个已知的问题吗?

当用户单击“完成编辑”按钮时,我可以强制任何UITextField firstResponder辞职,通过使我的视图firstResponder(这确实解决了问题)...但我有点惊讶我必须做这个。我想我正在寻找确认我/我不是疯了。

由于

1 个答案:

答案 0 :(得分:0)

看起来没有人有任何答案,所以:

强制UITextField辞职第一响应者,问题就消失了。