Прежде всего, я бы попробовал получить доступ к свойству:
[viewController view];
Это приведет к ленивой загрузке представления (и, следовательно, подпредставлений, выходов и т. Д.), И этого может быть достаточно для вас. Контроллеры представлений по умолчанию не будут загружать их, пока вы не получите к ним доступ, поэтому, возможно, именно поэтому вы видите задержку.
Принудительная загрузка, подобная этой, обычно является решением, когда вы пытаетесь получить доступ к свойству розетки, но оно еще не было привязано, как someSubview
в вашем случае.
Вы также можете немного улучшить ситуацию, добавив представление, но сделав его скрытым:
viewController.view.hidden = YES;
[mainView addSubview:viewController.view];
Тогда вместо того, чтобы звонить addSubview
, когда вы хотите показать это, просто сделайте:
viewController.view.hidden = NO;
Я использовал этот метод при анимации в представлениях с использованием переходов UIViewAnimationTransitionFlipFromRight
и т. Д. Даже при принудительной загрузке вида по-прежнему наблюдается заметная задержка, поэтому я использовал это, чтобы немного улучшить производительность.