在我的最终屏幕上查看“基于奖励的”广告后,初始屏幕上的许多元素都不必要地返回。
tl; dr这是正在发生的事情的视频:https://drive.google.com/file/d/18_nGNO35YTJisQnoJeC03svV6KsUlqkZ/view?usp=sharing
我有一个具有三个屏幕的应用程序:
在初始ViewController上,背景是旋转的爆炸形设计。为了使爆炸形旋转在游戏期间和之后也不会中断,GameViewController和EndViewController具有以下代码:
view.isOpaque = false
view.backgroundColor = .clear
一切都很好。当按下“立即播放”时,初始ViewController上的徽标,高分表和按钮从屏幕上飞出(背景中旋转的星光停留在屏幕上),GameViewController会以模态显示,然后游戏开始。
时间到了,GameViewController会使用以下代码切换到EndViewController:
let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "endGame") as! EndViewController
self.present(vc, animated: true, completion: nil)
一切都很好。在EndViewController屏幕上,有一个按钮播放基于奖励的广告。一切正常,除了关闭广告后,徽标,高分表和Initial ViewController中的“立即播放”按钮会重新出现并显示在EndViewController的内容下。
问题 为什么要从初始ViewController带回徽标,高分表和“立即播放”按钮?我怎样才能避免这种情况发生? (换句话说,我在广告之后,希望它看起来与广告之前的样子完全一样。)
谢谢!
以下是与广告相关的代码:
override func viewDidLoad() {
super.viewDidLoad()
// Gets an ad ready
GADRewardBasedVideoAd.sharedInstance().load(GADRequest(),
withAdUnitID: "ca-app-pub-3940256099942544/1712485313")
GADRewardBasedVideoAd.sharedInstance().delegate = self
}
@IBAction func watchAd(_ sender: Any) {
if GADRewardBasedVideoAd.sharedInstance().isReady == true {
.GADRewardBasedVideoAd.sharedInstance().present(fromRootViewController: self)
} else {
watchAdButton.setTitle("Loading. Try again in a second.", for: .normal)
}
}