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

问题描述 投票:1回答:1

我想尝试制作一个Swift 4 iPhone应用程序,当用户按下Enter键时,该应用程序会将各种用户输入文本字段转到另一个文本字段。我使用switch语句完成了它,但是现在我根据之前选择的用户添加了文本字段的容量来隐藏或取消隐藏,我的switch语句不再有效,因为我使用了每个文本字段的名称。我无法使用标签。

我需要用户输入的下一个文本字段,以便在用户点击Enter时进行更改,同时考虑到将隐藏一些UITextField。我认为我必须在一个安排中安排所有用户输入文本,然后使用while循环,但我没有取得任何进展。

iphone uitextfield swift4
1个回答
0
投票
  • 将UITextFieldDelegate添加到您的类中
  • 在viewDidLoad()中为每个文本字段设置委托给self,如下所示: yourTextfield.delegate = self

然后添加此功能

// 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
}
© www.soinside.com 2019 - 2024. All rights reserved.