3

我目前正在将 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 中。

4

1 回答 1

0

问题解决了!

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

谢谢大家的帮助!

于 2015-06-26T08:33:14.037 回答