我在FormController中有一个带有多个输入的表单。每当用户按下回车键时,我都希望它在不关闭并重新打开键盘的情况下将光标移至下一个textField上。但是,textField输入位于包装类textFieldContainer中,该包装类将自定义添加到文本字段。该类还在项目的其他地方使用,所以我不想编辑该类。我是Swift的新手,所以我想知道如何从FormController类中实现textFieldShouldReturn函数。
我已经研究了这个问题,并且已经实现了textFieldShouldReturn的实现,但我不知道将其放在何处。我认为它将在每个textField上涉及标签,并在标签之间循环。
答案 0 :(得分:0)
您尝试过类似的方法吗? 您应该能够为那些创建的文本字段分配标签,然后使用后续代码。
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
let txtTag:Int = textField.tag
if let next = self.view.viewWithTag(txtTag+1) as? UITextField {
next.becomeFirstResponder()
}else{
textField.resignFirstResponder()
}
return true
}
或者应该执行与此类似的操作。
答案 1 :(得分:0)
最后,我通过使用一个名为shouldReturnKeyPressTab的函数为textFieldContainer创建一个委托,然后在FormController中使用它来解决该问题。然后,我告诉shouldReturnKeyPress使用该函数的委托。