【发布时间】:2017-05-25 17:37:02
【问题描述】:
为了清楚起见,我有一个UIView Controller,其顶视图包含一个textfield。我还有一个tableview,每行包含1个textfield。
问题:当我"didEndEditing" 任何文本字段时,这意味着顶视图中的文本字段和表格视图中的文本字段我想将此信息保存到核心数据并重新加载tableview。
这很完美,除了!当我选择一个文本字段(任何地方)输入一个值,然后在一个文本字段中被选中,然后选择另一个文本字段。这会导致键盘卡住并且永远不会消失。
我已经诊断出这是因为当"DidEndEditing" 被调用时,由于单元格被重新加载,我失去了对我刚刚选择的文本字段的引用(谁的键盘已打开)。
有没有人遇到过这种情况?有没有人找到一个优雅的解决方案来将数据重新加载到tableview cell,同时在其中选择textfield?
编辑:我尝试将reloadData() 移动到文本字段的"DidBeginEditing" 函数,并成功使选择指示器出现,但键盘再次没有参考,即使我在@ 之后调用成为第一响应者987654332@
【问题讨论】:
-
尝试在键盘启动时重新加载数据,而不是在 UItextField Delegate 上加载。设置键盘打开和关闭的观察者。
标签: ios swift uitableview