两个文本字段的第一响应者

First Responder Of Two Textfields

所以在我制作的一个小应用程序中,如果用户单击登录按钮,屏幕底部会弹出两个文本字段(用户名和密码文本字段)。现在我希望当用户单击登录按钮时键盘也自动弹出。为此,我说:

self.userNameTextField.becomeFirstResponder()
self.passwordTextField.becomeFirstResponder()

现在由于某种原因我无法单击 userNameTextField。光标始终停留在 passwordTextField 上。我认为这是因为它使密码文本字段成为第一响应者,所以它不会让我点击用户名。有没有其他方法可以在不使用 firstResponder 方法的情况下自动调出键盘?

通过执行您在此处描述的操作,您正在使 userNameTextField 成为第一响应者,之后您正在使 passwordTextField 成为第一响应者 - 最终将 passwordTextField 设置为第一响应者(因为 Swift 快如闪电,你甚至都不会注意到 userNameTextField 成为第一响应者的那一刻)。 所以,选择你要呼叫的那个(可能 self.userNameTextField.becomeFirstResponder() 因为你希望用户先输入用户名)然后你可以呼叫 resignFirstResponder() (这将辞去 userNameTextField 作为第一响应者的角色用户点击键盘上的 "Return")通过实现 UITextFieldDelegate 方法 textFieldShouldReturn(如果您需要帮助请告诉我),然后立即调用 self.passwordTextField.becomeFirstResponder() 使您的 passwordTextField 第一响应者,以便用户可以输入密码。