按下回车键时如何在多个textField输入之间切换?

时间:2019-06-25 17:24:55

标签: ios swift

我在FormController中有一个带有多个输入的表单。每当用户按下回车键时,我都希望它在不关闭并重新打开键盘的情况下将光标移至下一个textField上。但是,textField输入位于包装类textFieldContainer中,该包装类将自定义添加到文本字段。该类还在项目的其他地方使用,所以我不想编辑该类。我是Swift的新手,所以我想知道如何从FormController类中实现textFieldShouldReturn函数。

我已经研究了这个问题,并且已经实现了textFieldShouldReturn的实现,但我不知道将其放在何处。我认为它将在每个textField上涉及标签,并在标签之间循环。

2 个答案:

答案 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使用该函数的委托。