2013-03-27 2 views
-1

Я использую стандартную процедуру Mobclix установки в iOS приложение, и я звоню метод requestAndDisplayAdFromViewController: изнутри viewWillAppear:Как исправить предупреждение: вид не в окне иерархии

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    [fullScreenAdViewController requestAndDisplayAdFromViewController:self]; 

} 

вот предупреждение Я получаю:

Warning: Attempt to present <MobclixFullScreenAdViewController: 0x14f2c0> on <EditGameViewController: 0x1838d0> whose view is not in the window hierarchy! 

Надеюсь, этого достаточно, чтобы продолжить. спасибо за любую помощь.

ответ

3

Вы вызываете его из viewWillAppear - в этот момент вид еще не обязательно находится в иерархии (он появится, это еще не значит, что он появился). Попробуйте вызвать его из viewDidAppear, который вызывается, когда подтверждение подтверждено в иерархии.

0

Попробуйте переместить код [fullScreenAdViewController requestAndDisplayAdFromViewController:self]; на номер viewDidAppear.

0

Вы также можете попытаться отобразить представление в методе viewDidLoad.

0

Вы должны попробовать переместить этот код в viewDidAppear.

Из документации компании Apple на viewWillAppear:

This method is called before the receiver’s view is about to be added to a view hierarchy 
+0

даже после перемещения его в didAppear я все еще получаю предупреждение: Попытка представить на чей вид не в окне иерархия! – hanumanDev

+1

Я буду перебирать контроллеры представлений в стеке, чтобы получить более четкое представление о том, что происходит. Получите указатель на свой контроллер корневого представления, а затем перейдите по массиву 'viewControllers' (если это UINavigationController) и посмотрите, что именно находится в иерархии. –

Смежные вопросы