Я хочу выполнить код перед представлением, но viewDidLoad
получает вызов до viewWillAppear
. Почему это так??Почему viewDidLoad вызывается перед представлениемWillAppear?
ответ
ViewDidLoad вызывается, когда представление загружается в память. Если вы используете раскадровку, приложение распаковыло представление и загрузило его в память (еще не на экране).
Когда приложение готово загрузить изображение на экран, он вызовет метод viewWillAppear.
В вашем случае, если вы хотите выполнить код перед представлением на экране, вы можете добавить его либо в viewDidLoad, либо в viewWillAppear.
Поскольку представление необходимо загрузить в память, прежде чем оно будет отображаться. Вам нужно дополнительно ознакомиться с жизненным циклом представления. Проверьте this link.
Только после того, как представление и его элементы загружены в память, вид нарисован на экране, а viewWillAppear и viewDidAppear вызывается соответственно.
Если вам нужно выполнить код перед представлением, вам необходимо использовать метод viewWillAppear
.
Я просто хотел предоставить дополнительную информацию, возможно, это поможет вам. При использовании ограничений вы можете посмотреть на:
- viewDidLayoutSubviews()
Вызывается уведомить контроллер представления, что его точка зрения просто выложил его подвидов.
Значит, это будет вызвано после применения ваших ограничений.
- 1. UITableView методы вызывается перед ViewDidLoad
- 2. viewDidLoad вызывается перед тем didSelectRowAtIndexPath
- 3. Почему viewDidLoad() вызывается дважды?
- 4. Почему вызов viewDidLoad дважды вызывается
- 5. viewDidLoad вызывается перед весь метод инициализации выполняется
- 6. viewDidLoad вызывается перед готовкой для отделки отделки
- 7. UITableView методы делегата вызывается перед viewDidLoad
- 8. Почему iOS6 вызывает частный метод перед viewdidload?
- 9. Когда вызывается viewDidLoad?
- 10. ViewDidLoad Вызывается два раза
- 11. NSNotificationCenter вызывается дважды в ViewDidLoad
- 12. Почему IEnumerator.MoveNext вызывается перед GetCurrent?
- 13. Почему методы UITableView вызывается перед viewWillAppear?
- 14. viewDidLoad получает вызов перед initWithFrame?
- 15. viewDidLoad вызов перед init?
- 16. ViewDidLoad не вызывается с UITabbarController
- 17. номерOfRowsInSection вызывается перед openWithCompletionHandler block
- 18. NSNotification вызывается после viewDidLoad следующего контроллера
- 19. tableView cellForRowAtIndexPath: выполняется перед ViewDidLoad?
- 20. Почему relaodData вызывает viewDidLoad
- 21. Почему иногда viewDidLoad вызывается первым, а иногда называется последним?
- 22. Как я могу диагностировать, почему viewDidLoad вызывается повторно?
- 23. viewDidLoad не вызывается при использовании loadView
- 24. viewDidLoad не вызывается при изменении навигационного стека
- 25. iOS ViewController не появляется, хотя viewDidLoad вызывается
- 26. Ячейки Tableview, заселенные перед viewDidLoad Метод
- 27. Почему метод-член класса вызывается перед конструктором
- 28. Почему функция вызывается перед печатью заявления?
- 29. Почему _dl_fixup вызывается перед началом динамического компоновщика?
- 30. Почему UITableViewController numberOfRowsInSections вызывается перед методом init?