В чем разница между -viewWillAppear: и -viewDidAppear :? - PullRequest
129 голосов
/ 12 апреля 2011

В чем разница между -[UIViewController viewWillAppear:] и -[UIViewController viewDidAppear:]?

Ответы [ 12 ]

1 голос
/ 12 апреля 2011

Как следует из названия, viewWillAppear вызывается до того, как представление должно появиться, и viewDidAppear вызывается, когда представление действительно появляется.

0 голосов
/ 23 января 2019

Usecase , то есть когда мне использовать какой?

viewDidLoad - когда надписи, кнопки (т.е. любые элементы управления / подпредставления) подключены кфайл интерфейса представления, и если вы хотите загрузить все это одновременно с представлением ViewController, и если вы хотите загрузить это в память один раз и покончить с этим

viewWillAppear - скажем, вы хотитеизменять цвет фона представления каждый раз, когда viewController появляется на экране.Или, более реалистично, если вам нужен цвет фона DarkMode в ночное время дня и светлый цвет фона в дневное время, используйте этот код в viewWillAppear

Еще один хороший пример использования здесь https://stackoverflow.com/a/39395865/5438240

Также обратите внимание, что, если вы используете стек навигации (UINavigationController), у viewController, который должен быть извлечен, вызывается viewWillDisappear(), а ViewController, который будет следующим сверху стека, будетviewWillAppear() называется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...