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.
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
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.
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