2016-08-01 12 views
2

AnforderungBlockierungsfeld während der Bearbeitung. (Swift - iOS)

Ich möchte ein Textfeld (UITextField) blockieren, während ein anderer Text in einem anderen Textfeld eingegeben wird.

Beispiel

ich zwei Textfelder auf einem Formular haben. Wenn Sie das erste Textfeld eingeben, wird das zweite Textfeld deaktiviert (d. H. Sie können es nicht einmal durch Berühren drücken). Erst wenn Sie das erste Textfeld bearbeitet haben, können Sie das zweite Textfeld bearbeiten.

Antwort

0

Sie können Ihr Textfeld zu einem Array hinzufügen und das Equatable Protokoll verwenden, um das Textfeld in der DidBeginEditingFunktion zu vergleichen und andere Felder zu deaktivieren. Aber wenn Sie mit der Bearbeitung fertig sind, müssen Sie alle Ihre Textfelder wieder einschalten. Stellen Sie außerdem sicher, dass Ihre Klasse UITextFieldDelegate in der Deklaration hat.

var textfields: [UITextField] = [textfield1,textfield2,textfieldn] 

func textFieldDidBeginEditing(textField: UITextField) { 
    for field in textfields { 
     if textField != field { 
      field.enabled = false 
     } 
    } 
} 

func textFieldDidEndEditing(textField: UITextField) { 
    for field in textfields { 
     field.enabled = true 
    } 
} 
Verwandte Themen