Ios 使表格视图单元格中的文本字段成为第一响应者

Ios 使表格视图单元格中的文本字段成为第一响应者,ios,swift,textfield,swift5,becomefirstresponder,Ios,Swift,Textfield,Swift5,Becomefirstresponder,我是Swift的新手,我正在开发一个动态表视图,并使用可重用的单元格创建视图,如屏幕截图所示 我的代码可以很好地删除文本字段的边框线,但是当我希望它作为第一个响应者出现在这个页面上时,它就不起作用了。 我想让第二部分的第一行作为第一响应者。我该怎么做 这是我的密码: func styling() { for rowIndex in 0...tableView.numberOfRows(inSection: 1) { let indexPath = IndexPath(ro

我是Swift的新手,我正在开发一个动态表视图,并使用可重用的单元格创建视图,如屏幕截图所示 我的代码可以很好地删除文本字段的边框线,但是当我希望它作为第一个响应者出现在这个页面上时,它就不起作用了。 我想让第二部分的第一行作为第一响应者。我该怎么做

这是我的密码:

func styling() {
    for rowIndex in 0...tableView.numberOfRows(inSection: 1) {
        let indexPath = IndexPath(row: rowIndex, section: 1)
        if let editPriceCell = tableView.cellForRow(at: indexPath) as? priceListCell {
            editPriceCell.txtFieldEditPrice.becomeFirstResponder() // does not work
            editPriceCell.txtFieldEditPrice.borderStyle = .none
        }
    }
}
以下是我想要的: 当我进入此页面时,我希望第一行Change Price成为第一响应者,并显示键盘。但它不起作用。我必须单击文本字段,然后将显示键盘。有解决办法吗

谢谢你抽出时间


你可以用这个

cell.textField.tag = indexpath.row
cell.textField.delegate = self

在委托方法中处理

您可以使用此

cell.textField.tag = indexpath.row
cell.textField.delegate = self

委托方法中的句柄

是否尝试调试它?becomeFirstResponder是否被调用?如果您再次看到代码,应该是删除文本字段边框的部分正在工作。边界消失了。这是使用一个可重用的单元,是这样吗?我不认为它会被调用,你可能会在其他地方设置边界,如果是的话,你应该因为它而面临其他问题。尝试使用上面的print语句成为第一响应者,看看它是否正在打印出来。如果没有,请检查为什么没有,执行将在哪里中断。请确保从viewDidAppear而不是从任何其他循环调用Styleing()event@AldoSugiarto请检查我的回答你试过调试吗?becomeFirstResponder是否被调用?如果您再次看到代码,应该是删除文本字段边框的部分正在工作。边界消失了。这是使用一个可重用的单元,是这样吗?我不认为它会被调用,你可能会在其他地方设置边界,如果是的话,你应该因为它而面临其他问题。尝试使用上面的print语句成为第一响应者,看看它是否正在打印出来。如果没有,请检查为什么没有,执行将在哪里中断。请确保从viewDidAppear而不是从任何其他循环调用Styleing()event@AldoSugiarto请检查我的答案,还是不行。我把它放在我发布的代码中。除了这两行代码之外,还有其他需要添加的吗?@Aldosugiar确保将委托方法分配给所有文本字段,以便使用上述两行代码。仍然不起作用。我把它放在我发布的代码中。除了这两行代码之外,还有其他需要添加的吗?@Aldosugiar确保将委托方法分配给所有文本字段以使用上述两行代码。