如果在UITableViewCell内以编程方式创建UITextField,如何辞职第一响应者?

时间:2018-06-27 22:10:24

标签: ios swift uitableview uitextfield

我创建了一个自定义tableViewCell,其中仅包含textField用于数据输入,例如在表单中。当用户点击“完成”时,我将如何移动到表单中的下一个cell/textField,并在完成表单后最终退出键盘?

问题更新:

我使用自定义tableViewCell的类创建了一个单独的文件。该单元格仅包含一个textfield,其约束为适合整个单元格。我当前的解决方案是将每个单元格分配为textField委托,并在每个单元格上退出第一响应者。

在我的tableViewController上,我将所述自定义单元格出列4次以获取简单表单。但是我不确定如何访问textField文件中的tableViewCell,例如当用户点击“完成”时跳到下一个textField或检查所有字段是否具有有效的条目来保存信息。

2 个答案:

答案 0 :(得分:1)

我也面临着同样的问题。因此,要遇到这种情况,我在tableView的属性检查器中选择了该选项-键盘>拖动时关闭

(滚动表格视图时,这将使文本字段消失)

OR

您可以在表格视图/表格视图单元格上使用轻击手势来辞职响应者。

答案 1 :(得分:0)

我将如何处理您尝试做的事情的一个简短版本是:

  1. 存储当前显示在单元格中的context_name的数组。
  2. 将文本字段追加到UITextField中的数组
  3. 删除func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)中的文本字段
  4. 保留对与用户互动的func tableView(_ tableView: UITableView, didEndDisplaying cell: UITableViewCell, forRowAt indexPath: IndexPath)(通过UITextField)的引用
  5. 每当用户按下在步骤4设置的UITextField上的“完成”呼叫UITextFieldDelegate
  6. 在可见的resignFirstResponder()数组中搜索关闭的文本字段的索引。
  7. 增加索引,并在该索引处的UITextField上调用UITextField