This question is not duplicated from these:
我有两个 TextFields
。
@IBOutlet weak var textField1: UITextField!
@IBOutlet weak var textField2: UITextField!
textField1
有类似返回键的下一步按钮;textField2
有像 Return 键一样的 Go 按钮;
只要两个 TextField 都不为空,我想启用第二个 TextField 的 Go 按钮。
我尝试将 someTextField.enablesReturnKeyAutomatically
与 TextFieldDelegate
一起使用,但没有成功。
谢谢你的帮助。
最佳答案
下面:只要 textField1
为空,textField2
就会被禁用。如果后者非空,我们启用 textField2
,但仅当 textField2
非空时才启用 Go
按钮(通过 .enablesReturnKeyAutomatically
属性),
/* ViewController.swift */
import UIKit
class ViewController: UIViewController, UITextFieldDelegate {
@IBOutlet weak var textField1: UITextField!
@IBOutlet weak var textField2: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
// text field delegates
textField1.delegate = self
textField2.delegate = self
// set return key styles
textField1.returnKeyType = UIReturnKeyType.Next
textField2.returnKeyType = UIReturnKeyType.Go
// only enable textField2 if textField1 is non-empty
textField2.enabled = false
// only enable 'go' key of textField2 if the field itself is non-empty
textField2.enablesReturnKeyAutomatically = true
}
// UITextFieldDelegate
func textFieldShouldReturn(textField: UITextField) -> Bool {
if (textField1.text?.isEmpty ?? true) {
textField2.enabled = false
textField.resignFirstResponder()
}
else if textField == textField1 {
textField2.enabled = true
textField2.becomeFirstResponder()
}
else {
textField.resignFirstResponder()
}
return true
}
}
运行如下:
关于ios - 如何在 Swift 中手动启用/禁用键盘返回键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35350243/