So habe ich einen ViewController mit drei UITextFields. Ich möchte nicht, dass der Benutzer klicken kann, wenn alle drei UITextFields> 0 sind.doneBarButton.enabled mit einer && Anweisung
Dies ist der Code, den ich habe. Ich erhalte keine Fehler, aber die Schaltfläche Fertig (barButtonItem) bleibt ausgegraut, auch wenn ich etwas in jedes der drei UITextFields gelegt habe. Was mache ich falsch?
func allTextFields(dateTextField: UITextField, numberOfLitersTextField: UITextField, costPerLiterTextField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementsString string: String) -> Bool {
let oldText: NSString = dateTextField.text!
let oldText2: NSString = numberOfLitersTextField.text!
let oldText3: NSString = costPerLiterTextField.text!
let newText: NSString = oldText.stringByReplacingCharactersInRange(range, withString: string)
let newText2: NSString = oldText2.stringByReplacingCharactersInRange(range, withString: string)
let newText3: NSString = oldText3.stringByReplacingCharactersInRange(range, withString: string)
doneBarButton.enabled = (newText.length > 0 && newText2.length > 0 && newText3.length > 0)
return true
}
Wann rufen Sie diese Funktion an? – ZGski
Setzen Sie einen Haltepunkt auf die 'doneBarButton.enabled = ... 'Zeile und sehen Sie, was der Wert von' newText', 'newText2' und' newText3' ist. – rmaddy
@ZGski Ich habe meinen ViewController als UITextFieldDelegate gesetzt –