Wytyczne dla viewWillAppear, viewDidAppear, viewWillDisappear, viewDidDisappear

Czy są jakieś wytyczne dotyczące właściwego stosowania tych metod? W szczególności chciałbym wiedzieć, jakiego rodzaju kodu mógłbym użyć w nich.

Na przykład, jeśli muszę wywołać metodę, która pobiera dane z WS, gdzie mam ją wywołać? Gdzie mogę zarejestrować / wyrejestrować NSNotification? itd.

Author: Eimantas, 2011-09-12

2 answers

From UIViewController

ViewWillAppear:

Metoda ta jest wywoływana przed wyświetlaniem widoku odbiornika na ekranie i przed skonfigurowaniem animacji do wyświetlania widoku. Można zastąpić tę metodę, aby wykonywać niestandardowe zadania związane z prezentowaniem widoku. Można na przykład użyć tej metody, aby zmienić orientację lub styl paska stanu w celu skoordynowania z orientacją lub stylem prezentowanego widoku. Jeśli nadpisanie tej metody, musisz wywołać super w pewnym momencie swojej implementacji.

ViewWillDisappear:

Ta metoda jest wywoływana w odpowiedzi na usunięcie widoku z okna lub zasłonięcie go innym widokiem. Metoda ta jest wywoływana przed rzeczywistym usunięciem lub zakryciem widoku oraz przed konfiguracją animacji.

Podklasy mogą nadpisać tę metodę i użyć jej do zatwierdzania zmian edycyjnych, rezygnacji ze statusu pierwszej odpowiedzi w widoku lub wykonania inne istotne zadania. Można na przykład użyć tej metody, aby przywrócić zmiany orientacji lub stylu paska stanu, które zostały wprowadzone w metodzie viewDidDisappear:, gdy Widok był prezentowany po raz pierwszy. Jeśli nadpisujesz tę metodę, musisz wywołać super w pewnym momencie swojej implementacji.

ViewDidAppear:

Możesz nadpisać tę metodę, aby wykonać dodatkowe zadania związane z prezentacją widoku. Jeśli nadpisujesz tę metodę, musisz wywołać super w jakimś punkt w realizacji.

ViewDidDisappear:

Możesz nadpisać tę metodę, aby wykonać dodatkowe zadania związane z odrzucaniem lub ukrywaniem widoku. Jeśli nadpisujesz tę metodę, musisz wywołać super w pewnym momencie swojej implementacji.

Aby uzyskać więcej informacji, sprawdź View Controller Programming Guide for iOS

 30
Author: Manlio,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-27 18:34:48

Dodatek do odpowiedzi: należy wywoływać metody takie jak super viewWillAppear: na początku implementacji, a wywoływać viewdidappear: na końcu metody. Klasa nadrzędna powinna zaczynać się od inicjalizacji i powinna być ostatnia do zakończenia.

 4
Author: Yunus Nedim Mehel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-26 09:02:50