我有一个问题是
这是showads
函数。
[self.mMainView addSubview:adViewController.view];
//...(my function to display ads)
这是
hideads
函数。 //...(my function to hide ads)
[[AdViewController sharedAdViewController].view removeFromSuperview];
[self.mMainView setNeedsDisplay];
mMainView
是UIView
。AdViewController
是UIViewController
。问题在于,在调用
showads
功能之后,我的广告会显示在mMainView
上。但是,在调用hideads
函数之后,我的广告没有消失,它仍然显示在mMainView
上。注意:调用
hideads
并中断然后恢复应用程序后,我的广告将消失。所以,我想将其删除,请您详细解释一下,如果可以的话,请教我如何解决它?
最佳答案
删除或添加子视图时无需调用setNeedsDisplay
。它在中断后更新的事实使我怀疑您没有在主线程上调用[[AdViewController sharedAdViewController].view removeFromSuperview];
。该代码的上下文是什么?
如果不在主线程上,则可以对其进行调度:
dispatch_async(dispatch_get_main_queue(), ^{
[[AdViewController sharedAdViewController].view removeFromSuperview];
});