2013-03-27 70 views
-1

我使用在iOS應用爲Mobclix標準設置過程,我從viewWillAppear:如何修復警告:景色是不是在窗口層次

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

    [fullScreenAdViewController requestAndDisplayAdFromViewController:self]; 

} 

內,這裏的調用requestAndDisplayAdFromViewController:方法警告我越來越:

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。

從上viewWillAppear中的蘋果文檔:

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

甚至將它移動到didAppear後,我仍然得到了警告:試圖提出誰的觀點是不是在窗口層次! – hanumanDev 2013-03-27 13:26:55

+1

我將遍歷堆棧中的視圖控制器,以更清楚地瞭解發生了什麼。獲取一個指向你的根視圖控制器的指針,然後迭代'viewControllers'數組(如果它是一個UINavigationController)並查看層次結構究竟是什麼。 – 2013-03-27 14:11:20

相關問題