如何防止iAd调整我的视图大小,以及如何从SKScene打开/关闭iAd?

时间:2014-07-27 21:04:00

标签: ios sprite-kit iad skscene

在我的ViewController中,当我设置

self.canDisplayBannerAds = YES; 

横幅广告调整我的SKScene大小以适应屏幕底部的iAd视图。这会导致事物转移并以不同方式显示(我的部分背景被切掉了视图)。如何在我的视图之上展示广告,而不是调整整个视图的大小?

另外,如何更改我的ViewController' canDisplayBannerAds'来自SKScene的财产,以便它只在适当的时间显示?

1 个答案:

答案 0 :(得分:0)

我不确定你问题的第一部分,Changing iAd position and placement我认为如果你弄清楚这个家伙的解决方案,你能够把它弄清楚。

至于第二部分,我认为在SKScene中更改canDisplayBannerAds bool的最佳选择是使用NSNotificationCenter,这两个提示将在你的viewDidLoad方法中

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(showsBanner)
                                             name:@"showsBanner"
                                           object:nil];

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(hidesBanner)
                                             name:@"hidesBanner"
                                           object:nil];

此代码的@selector部分将调用这些方法,这些方法也将被放入viewController中

-(void)hidesBanner {
     [_adView setAlpha:0];
     self.bannerIsVisible = NO;
}

-(void)showsBanner {
     [_adView setAlpha:1];
     self.bannerIsVisible = YES;
}

最后,无论何时你想使用任何SKScenes中的任何一种方法,你都会写下这一行

[[NSNotificationCenter defaultCenter]postNotificationName:@"hidesBanner" object:self];
        //above line calls hidesBanner, @"showsBanner" would call showsBanner