如何修复警告:视图不在窗口层次结构中

时间:2013-03-27 13:04:12

标签: iphone ios objective-c mobclix

我在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!

我希望这足以继续下去。谢谢你的帮助。

4 个答案:

答案 0 :(得分:3)

你是从viewWillAppear调用它 - 此时,视图不一定在层次结构中(它会出现,并不意味着它已经出现)。尝试从viewDidAppear调用它,当确认视图位于层次结构中时调用它。

答案 1 :(得分:0)

尝试将代码[fullScreenAdViewController requestAndDisplayAdFromViewController:self];移至viewDidAppear

答案 2 :(得分:0)

您还可以尝试在viewDidLoad方法中显示视图。

答案 3 :(得分:0)

您应该尝试将此代码移至viewDidAppear。

来自viewWillAppear上的Apple文档:

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