iAd 横幅位置未更新

iAd banner position not updating

我目前正在将 iAd 横幅添加到我的 SpriteKit 游戏中,并且我已经成功地展示了广告。但是当我通过将横幅从底部推开来移除横幅时,它不会移动,即使它与让它出现的代码完全相反。

这是从通知观察者调用的函数:

func hideBannerAd(notification:NSNotification)
{
    if bannerAdVisible == true
    {
        println(bannerAd.frame);

        UIView.beginAnimations("hideAd", context: nil);
        bannerAd.frame = CGRectOffset(bannerAd.frame, 0, bannerAd.frame.size.height);
        println(bannerAd.frame);
        UIView.commitAnimations()
        bannerAdVisible = false
        bannerAd.cancelBannerViewAction()
    }
}

2 println 语句产生以下结果:

(0.0, 1024.0, 768.0, 66.0)

(0.0, 1090.0, 768.0, 66.0)

所以横幅的位置正在改变,但它没有显示在屏幕上。

如果您知道这个问题,我将不胜感激。

编辑 我要补充一点,hideBannerAd 和与广告有关的所有代码都在 GamveViewController 中。

问题已解决!

在@aramusss 评论的帮助下,我发现我正在调用该函数以在 viewWIllLayoutSubViews 函数中显示横幅,因此我将其移至 viewDidLoad 函数,现在可以使用了!

谢谢大家的帮助!