成为下一个可用(非隐藏)文本字段中的第一响应者

时间:2019-03-03 15:15:22

标签: iphone uitextfield swift4

我正在尝试使具有各种用户输入文本字段的Swift 4 iPhone应用程序在用户按下Enter键时转到另一个文本字段。我使用switch语句来完成此操作,但是现在我根据用户的先前选择添加了文本字段隐藏或取消隐藏的功能,由于我使用了每个文本字段的名称,因此我的switch语句不再起作用。我无法使用标签来做到这一点。

考虑到某些UITextFields将被隐藏,我需要在用户输入Enter时更改用户输入的下一个文本字段。 我认为我必须将所有用户输入文本排列成一个排列,然后使用while循环,但我没有取得任何进展。

1 个答案:

答案 0 :(得分:0)

  • 将UITextFieldDelegate添加到您的课程
  • 在viewDidLoad()中,
  • 将每个文本字段的委托设置为self,如下所示:

    yourTextfield.delegate =自我

然后添加此功能

// Textfield delegate
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
    switch textField {
    case firstTextfield:
        firstTextfield.resignFirstResponder()
        secondTextfield.becomeFirstResponder()
    case secondTextfield:
        secondTextfield.resignFirstResponder()
        thirdTextfield.becomeFirstResponder()
    default:
        textField.resignFirstResponder()
    }
    return false
}