Swift 文本框自动光标
Swift textfield automatic cursor
是否可以在打开屏幕时自动将光标放在第一个文本字段中?
例如,当我打开一个带有电子邮件和密码的屏幕时,我想在此之后立即输入我的电子邮件,而不是按文本字段。
选择您想成为第一响应者的文本字段:
override func viewDidLoad(){
super.viewDidLoad()
emailTextField.becomeFirstResponder()
}
在 ViewController 和 viewDidLoad()
方法调用 myTextField.becomeFirstResponder()
中创建 TextField 的 IBOutlet
override func viewDidLoad() {
super.viewDidLoad()
myTextField.becomeFirstResponder()
}
如果您有一个静态 tableView,只需从您的 textFields 中获取一个 IBOutlet
,然后在方法 viewWillAppear
中您可以调用 yourTextField.becomeFirstResponder()
如果你有一个动态 tableView,你有某种数据源对象,你可以在其中循环,找到第一个 textField 的索引,然后你必须将 tableView 滚动到那个单元格,所以它变得可见,然后您应该使用 let cell = tableView.cellForRow(at: IndexPathOfYourCell) as? YourCustomTextCell
获取对单元格的引用,然后您可以执行类似 cell.textField.becomeFirstResponder()
的操作
是否可以在打开屏幕时自动将光标放在第一个文本字段中? 例如,当我打开一个带有电子邮件和密码的屏幕时,我想在此之后立即输入我的电子邮件,而不是按文本字段。
选择您想成为第一响应者的文本字段:
override func viewDidLoad(){
super.viewDidLoad()
emailTextField.becomeFirstResponder()
}
在 ViewController 和 viewDidLoad()
方法调用 myTextField.becomeFirstResponder()
override func viewDidLoad() {
super.viewDidLoad()
myTextField.becomeFirstResponder()
}
如果您有一个静态 tableView,只需从您的 textFields 中获取一个 IBOutlet
,然后在方法 viewWillAppear
中您可以调用 yourTextField.becomeFirstResponder()
如果你有一个动态 tableView,你有某种数据源对象,你可以在其中循环,找到第一个 textField 的索引,然后你必须将 tableView 滚动到那个单元格,所以它变得可见,然后您应该使用 let cell = tableView.cellForRow(at: IndexPathOfYourCell) as? YourCustomTextCell
获取对单元格的引用,然后您可以执行类似 cell.textField.becomeFirstResponder()