2011-01-03 2 views
0

Ich versuche, etwas Ähnliches wie Apples Contact.app zu erreichen.Bearbeiten von UITextField in UITableView (Eingabe aktivieren/deaktivieren)?

Wenn der Benutzer Bearbeiten in der Detailansicht drückt, sollten die Textfelder aktiviert werden, und wenn der Benutzer Done/Save drückt, sollte die Eingabe UITextFields deaktiviert werden.

So habe ich:

-(BOOL) textFieldShouldBeginEditing:(UITextField *)textField { 
    return [(UITableView*)self.view isEditing]; 
} 

und den Regler stellen Sie die Delegierten für jedes Textfeld zu sein, aber wenn die Benutzer drücken Fertig/Save während der Bearbeitung stattfindet die Tastatur geöffnet bleibt und der Benutzer kann die bearbeiten Zeichenfolge. Wie kann ich sicherstellen, dass dies nicht passiert?

Antwort

2

Gelöst von den Delegierten des Textfeldes an die Zelle setzen und diese Methoden zu implementieren.

- (void)setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing:editing animated:animated]; 
    if (!editing) 
     [textField resignFirstResponder]; 
} 

- (BOOL) textFieldShouldBeginEditing:(UITextField *)textField { 
    return [self isEditing]; 
} 
0

Sie haben nur den Anfang der Bearbeitung behandelt ... Sie sollten aufzeichnen, welche Uitextbox die erste Antwort ist, wenn Sie auf die Schaltfläche Speichern tippen, sollten Sie einen resignFirstResponder auf der Texbox aufrufen.

hoffe, das hilft, Moszi

+0

Ja, natürlich war die Frage, wie es geht – Erik