如何专注于表格视图中视图之外的文本字段?
Posted
技术标签:
【中文标题】如何专注于表格视图中视图之外的文本字段?【英文标题】:How to focus on textfield that is outside of view in tableview? 【发布时间】:2021-03-16 15:32:14 【问题描述】:所以我在 cellForRowAt 中设置了以下代码,它工作完美,除非我已经说 10+ 个单元格并且用户按下 + 按钮添加一个新单元格,它不关注该 textField,因为它在外面风景。在使 textField 成为第一响应者之前,我尝试使用 tableView.scrollToRow 滚动到 tableView 的底部,但它仍然无法正常工作。我该怎么做?
cell.textField.becomeFirstResponder()
【问题讨论】:
无法理解加号按钮在哪里 @UsamaAzam 我只有一个 + 按钮,它附加到数组并创建一个新行。创建行时,如果屏幕上的单元格过多并且在视图之外创建新行,则成为第一响应者将不起作用,因为它在视图之外。这有意义吗? 【参考方案1】:如果具有textField
的单元格根本不可见,cell.textField.becomeFirstResponder()
将不会有任何影响,因此您应该尝试在用户点击“+”时将单元格带到可见区域
self.tableView.scrollToRow(at: IndexPath(row: row_of_cell_with_textField, section: 0), at: .middle, animated: true)
【讨论】:
我这样做了,但它不起作用。它滚动到底部,但我认为因为在我设置第一响应者时它还没有完成滚动,它仍然无法设置它 在这种情况下,您可以尝试使用相同的动画值作为假吗?self.tableView.scrollToRow(at: IndexPath(row: row_of_cell_with_textField, section: 0), at: .middle, animated: false)
我也试过了,对不起,没用 :( 必须有解决方案,但不知道为什么这不起作用以上是关于如何专注于表格视图中视图之外的文本字段?的主要内容,如果未能解决你的问题,请参考以下文章