2009-07-29 6 views
0

Hallo Ich verwende eine Tab-Leiste-Anwendung.So laden Sie Ansichten neu, wenn Benutzer auf Registerkarten klicken?

Ich möchte eine Ansicht neu laden, wenn der Benutzer auf eine der Tabulatortaste drückt.

Wenn der Benutzer die erste Schaltfläche der Registerkartenleiste drückt, wird die erste Ansicht nur einmal geladen.

Ich brauche, wenn Benutzer die erste Tab-Leiste Taste drückt, Ansicht muss neu geladen werden.

dies erforderlich ist, aufgrund Grund folgenden in ersten Blick - i Liste der Mitarbeiter & in zweiten Blick haben - i Bildschirm

Mitarbeiter hinzufügen, haben

nach einen Mitarbeiter hinzufügen, ist es offensichtlich, dass Benutzer klicken, wird auf der Tableiste Knopf eine , um neu hinzugefügten Datensatz zu sehen.

aber Ansicht wird nicht wieder geladen,

so, ich brauche gesamte Ansicht nachladen

die -viewDidLoad ist {} Methode sollte jedes Mal aufgerufen werden.

bitte helfen Sie mir.

Ich werde danke voll sein.

+0

Tim, Ansicht wird nur einmal geladen, versuchen Sie es. Ich möchte die Ansicht jedes Mal laden, wenn die Tabulatortaste gedrückt wird. –

+0

Tim, Tab-Leiste - noch nicht einmal zur Ansicht wird Abschnitt angezeigt werden. –

+0

Ich stimme nicht zu - Ich habe eine Anwendung, die einen UITabBarController verwendet, und ruft ViewWillAppear auf, wenn ich Tabs ändere. Versuchen Sie Folgendes: '- (void) viewWillAppear {NSLog (@" view wird angezeigt "); [super viewWillAppear]; } ' – Tim

Antwort

4

Zählen Sie nicht auf viewDidLoad wird immer aufgerufen, wenn eine Ansicht erscheint. Stattdessen sollten Sie den Code in viewWillAppear verschieben (oder noch besser, verschieben Sie es in eine separate Methode und rufen Sie diese Methode von viewWillAppear).

Zum Beispiel:

- (void)loadEmployeeData { 
    // Your code here 
} 

- (void)viewWillAppear { 
    [super viewWillAppear]; 

    [self loadEmployeeData]; 
}

In der Regel sollten Sie Laden-Code setzen, der einmal muss nur laufen (kann aber auch mehrmals ausgeführt) in viewDidLoad Code, der in jedes Mal eine Ansicht ausgeführt werden muss gezeigt viewWillAppear oder viewDidAppear und Code, der ausgeführt werden kann, noch bevor die Ansicht geladen wird oder absolut muss nur einmal in initWithNibName:bundle: ausgeführt werden.

Verwandte Themen