Sotto: textField2
è disattivato finchè textField1
è vuoto. Se quest'ultimo non è vuota, ci consentono textField2
, ma attivare il pulsante Go
solo se textField2
è non vuota (via .enablesReturnKeyAutomatically
proprietà),
/* 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
}
}
è la seguente:

Come hai impostato 'textField1': s il prossimo risponditore come' textField2? '(il precedente ha" Avanti "invece di" Ritorno "). Solo 'textField1.returnKeyType = UIReturnKeyType.Next'? – dfri
Sì, penso che questo sia complicato (esempio: 'textField1' è vuoto ma' textField2' non è: il pulsante 'Go' sarà abilitato). Ho visto alcuni hack non documentati per l'impostazione del pulsante di ritorno come abilitato/disabilitato, ma non sono stato in grado di adattarli a swift. Inoltre, vorremmo evitare gli hack non documentati. Vedi [questo thread]. – dfri
Ok questa è la mia prova finale qui sotto, ho bisogno di andare a letto ora. Questa versione finale disabilita la seconda visualizzazione del testo finché la prima vista di testo è vuota. Successivamente, il tasto "Vai" del secondo pulsante visualizza la seconda vista del testo finché è vuota. – dfri