在我的 ViewController 中,当我设置
self.canDisplayBannerAds = YES;
横幅广告会调整我的 SKScene 的大小以适应屏幕底部的 iAd 视图。这会导致事物四处移动并以不同方式显示(我的部分背景被切掉了)。如何使广告显示在我的视图之上,而不是调整整个视图的大小?
另外,如何从 SKScene 更改 ViewController 的“canDisplayBannerAds”属性,使其仅在适当的时间显示?
在我的 ViewController 中,当我设置
self.canDisplayBannerAds = YES;
横幅广告会调整我的 SKScene 的大小以适应屏幕底部的 iAd 视图。这会导致事物四处移动并以不同方式显示(我的部分背景被切掉了)。如何使广告显示在我的视图之上,而不是调整整个视图的大小?
另外,如何从 SKScene 更改 ViewController 的“canDisplayBannerAds”属性,使其仅在适当的时间显示?
我不确定你问题的第一部分,改变 iAd 的位置和位置我认为如果你摆弄这个人的解决方案,你就可以把它弄下来。
至于第二部分,我认为在 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