我这里有一个UITableViewCell子类,用于管理表格视图单元格右侧的UITextField设置。根据表格,在任何给定时间显示4到8个这些单元格的任何位置;我用它们来输入单位数据(即输入距离,温度等),因此有很多逻辑用螺栓固定在细胞亚类上。
无论出于何种原因,我注意到如果我执行以下步骤:
[waves]
John sees his neighbor and greets 'Hello!' . But she didn't hear him.
然后当前的UITextField失去焦点,但第二个文本字段没有获得它。这意味着没有UITextField当前具有焦点,但键盘仍然在屏幕上显示...但没有任何活动文本字段,它什么都不做,并且不能被解雇(大概是因为没有第一响应者辞职?)。
然后我可以再次点击另一个文本字段,它将获得焦点并开始编辑 - 此时键盘再次可操作并按下返回/完成键将关闭它并像往常一样结束编辑。
如果我在没有先按下按钮的情况下点击另一个UITextField,那么第二个UITextField将立即获得焦点(正如我所期望的那样)。但是,如果您尝试在点击文本字段以外的任何类型的按钮后切换字段,则UITextField外部的按钮按下似乎会导致出现此行为。
有谁知道造成这种情况的原因是什么?几乎听起来响应者链存在问题,但我不确定问题是什么或如何修复它。
答案 0 :(得分:0)
首先,您确定表中的textfiled具有唯一标识符,例如标记。 其次,如果您希望文本文件丢失的第一响应者但键盘仍然出现,您应该让另一个文本文件成为第一响应者。
答案 1 :(得分:0)
弄清楚它是什么......
问题是我正在重新加载我的自定义单元格在编辑完成时调用的委托方法中的表数据。当您在切换UITextFields的过程中显然重新加载tableview数据将导致第二个文本字段无法获得焦点(但键盘不会被解雇),因此导致我看到的问题。