gpt4 book ai didi

ios - 向 Sprite Kit Landscape 添加 iAd

转载 作者:行者123 更新时间:2023-12-01 17:53:41 24 4
gpt4 key购买 nike

我的 View Controller 中有以下代码:

- (void)viewWillLayoutSubviews {
[super viewWillLayoutSubviews];

// Configure the view.
SKView * skView = (SKView *)self.view;
if (!skView.scene) {
skView.showsFPS = NO;
skView.showsNodeCount = NO;
skView.showsDrawCount = NO;

// Create and configure the scene.
SKScene * scene = [MenuScene sceneWithSize:skView.bounds.size];
scene.scaleMode = SKSceneScaleModeAspectFill;

self.canDisplayBannerAds = YES;

// Present the scene.
[skView presentScene:scene];
}
}

当我运行应用程序时,它会立即崩溃。我收到以下错误消息:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIView scene]: unrecognized selector sent to instance

我无法使用 SKView *skView = (SKView *)self.originalContentView;因为应用程序处于横向模式。有没有办法在 Landscap Sprite Kit 游戏中显示 iAd?

编辑:

我刚刚将此代码添加到 View Controller ,但我得到了相同的结果..
#pragma mark iAd Delegate Methods

-(void)bannerViewDidLoadAd:(ADBannerView *)banner {
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[banner setAlpha:1];
[UIView commitAnimations];
}

最佳答案

我遇到了这个问题并通过创建 ABBannerView 解决了它属性并将其添加为 subview 。

在我的 ViewController 类中:

adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
adView.delegate = self;
[adView setFrame:CGRectMake(0, 0, 1024, 768)]; // set to your screen dimensions
[self.view addSubview:adView];

重要的是不要设置 canDisplayBannerAds View Controller 的属性。

我相信正在发生的事情是,如果您确实设置了 canDisplayBannerAds属性为 true, View 被修改并且不再与 SKView 兼容,并且不再具有场景属性。

我确实必须设置框架,以便尺寸正确,否则它是纵向的。

关于ios - 向 Sprite Kit Landscape 添加 iAd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22065908/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com