私は Adwhirl を初めて使用し、いくつかの問題を抱えています。mainScreen コントローラーを AdView のデリゲートとして設定しています。このビューを表示している間、広告は問題なく更新されます。ただし、別のビューに切り替えると、デリゲートは新しい広告を受信しなくなりました (デリゲート セレクターは起動されません)。これには理由がありますか?アプリ全体に 1 つの adView が必要なので、ポインターをどこにでも渡し、サブビューとして適切なビューに追加します。
ここにいくつかのコードがあります:
#pragma mark AdWhirl required delegate methods
- (NSString *)adWhirlApplicationKey {
return MY_AD_WHIRL_APPLICATION_KEY;
}
- (UIViewController *)viewControllerForPresentingModalView {
return self;
}
- (void)adWhirlDidReceiveAd:(AdWhirlView *)adWhirlView {
adView.hidden = NO;
if (self.view.window) {
[UIView beginAnimations:@"AdWhirlDelegate.adWhirlDidReceiveAd:"
context:nil];
[UIView setAnimationDuration:0.7];
CGSize adSize = [adView actualAdSize];
CGRect newFrame = adView.frame;
newFrame.size = adSize;
newFrame.origin.x = (self.view.bounds.size.width - adSize.width)/ 2;
newFrame.origin.y = self.view.bounds.size.height - 50;
adView.frame = newFrame;
[UIView commitAnimations];
}else {
[UIView beginAnimations:@"AdWhirlDelegate.adWhirlDidReceiveAd:"
context:nil];
[UIView setAnimationDuration:0.7];
CGSize adSize = [adView actualAdSize];
CGRect newFrame = adView.frame;
newFrame.size = adSize;
newFrame.origin.x = (self.view.bounds.size.width - adSize.width)/ 2;
//newFrame.origin.y = self.view.bounds.size.height - 50;
adView.frame = newFrame;
[UIView commitAnimations];
}
}
-(void)adWhirlDidFailToReceiveAd:(AdWhirlView *)adWhirlView usingBackup:(BOOL)yesOrNo
{
adView.hidden = YES;
}
注: mainScreen コントローラーは、私のアプリが開始するコントローラーです。そのため、常にメモリに常駐しています。これは、他のビューを画面にプッシュする役割を果たします。これを機能させるために何か不足していますか?