UIWindow и UIView addSubview Вопрос - PullRequest
1 голос
/ 10 июля 2009

Действительно ли метод addSubview загружает представление в приложение или нет? Причина, по которой я спрашиваю, состоит в том, что у меня есть два двух взгляда в моей заявке. Делегат приложения добавляет два представления как подпредставления, а затем выводит одно из представлений вперед. Теперь у меня есть оператор print в каждом из методов viewDidLoad для каждого представления. Когда я запускаю приложение, делегат приложения загружает представления как подвиды, и когда каждое представление загружается, я фактически вижу, как консоль распечатывает операторы, которые я поместил в каждый из методов viewDidLoad. Это должно делать это?

Ответы [ 2 ]

5 голосов
/ 10 июля 2009

viewDidLoad на самом деле является методом UIViewController, а не UIView. Он вызывается после загрузки представления в память (после вашего метода init, но до awakeFromNib). Вы заметите, что addSubview: принимает UIView в качестве параметра, поэтому представление должно быть загружено для того, чтобы представление было добавлено в другое представление. В противном случае вы бы попытались добавить воображаемое представление.

В ответ на ваш вопрос, да, это должно быть сделано. viewDidLoad вызывается задолго до того, как вы добавите Subview. Фактически, если вы удалите строки addSubview :, вы заметите, что он все еще вызывается (потому что вы создаете контроллер представления).

0 голосов
/ 24 ноября 2010

Насколько я понимаю, представления загружаются лениво. Если ваш viewcontroller имеет 10 представлений, они не все загружены, пока вы не попытаетесь получить к ним доступ.

...