2011-01-13 10 views
0

Im Erstellen einer internen iPad-App, für die unsere Mitarbeiter Details zu einem Besuch vor Ort eingeben können, die sie gerade durchgeführt haben.IPad Löschen Sie alle Felder zurück zum Start

Eine der Seiten in der App ist eine massive Form, wo der Benutzer alle Informationen eingibt. Ich habe einen Reset-Button in diesem Formular. Mit dieser Schaltfläche werden nur alle Textfelder, Textansichten, Kontrollkästchen usw. gelöscht.

Gibt es eine saubere Möglichkeit, eine Ansicht in den Status zurückzusetzen, als wäre sie brandneu (nicht-schmutzig). Ich möchte nicht wirklich jede Kontrolle über die Ansicht durchgehen und sie auf Null setzen.

Gibt es eine Möglichkeit, die gesamte Ansicht zu löschen und neu zu starten?

Vielen Dank im Voraus

Antwort

0

Ich denke, die einfach Art und Weise dies zu tun ist,

-(IBAction) reset 
{ 
     YourView *obj=[[YourView alloc] initWithNibName:@"YourView" bundle:[NSBundle mainBundle]]; 
     [self presentModalViewController:obj animated:NO]; 
     [obj release]; 
} 
0

Ich denke, der einfachste Weg, dies zu tun, ist Ihre Ansicht (oder die Abschnitte davon zu verwerfen möchte zurücksetzen) und neu erstellen. Das könnte so einfach sein wie:

//assuming you have a nib file containing some custom FormView class with your current view controller as its owner and the FormView instance in the nib bound to a 'formView' property on the controller 
[self.formView removeFromSuperView]; 
[[NSBundle mainBundle] loadNibNamed:@"FormView" owner:self options:nil]; 
[self.view addSubView:self.formView]; 
//keep a reference to the old formView first and animate the transition as you like 

Komplexere aber möglicherweise lohnen könnte Ihre Ansicht Objekte verwenden KVO haben, um Änderungen an einigen Modellobjekt als eine Eigenschaft über einen Delegaten oder auf einem Super ausgesetzt zu sehen. Das ist nützlich, wenn Sie möchten, dass sich die Ansicht automatisch als Reaktion auf Änderungen am Modell, die von anderen Teilen der Ansicht oder einer externen Quelle wie Netzwerkupdates stammen, aktualisieren kann. Ein "Zurücksetzen" könnte dann so einfach sein wie das Ersetzen des Werts der Eigenschaft, den die Ansichten beobachten, mit einer neuen Instanz Ihres Modells.