gpt4 book ai didi

iphone - iAd加载失败时不隐藏?

转载 作者:行者123 更新时间:2023-11-29 04:09:18 25 4
gpt4 key购买 nike

这似乎是有史以来最愚蠢的问题,但在浏览了所有 Apple 文档和无用的在线教程后,我仍然不知道如何在我的应用程序中正确实现 iAds。因此,我的应用程序从 TableView Controller 开始,并且在导航栏下方和表格上方有一个 iAd 对象。

现在,在我的代码中:(我还添加了 iAd 框架)

#import <UIKit/UIKit.h>
#import <iAd/iAd.h>

@interface MasterTableViewController : UITableViewController <ADBannerViewDelegate>
{
IBOutlet ADBannerView *iAd;
}
@property(nonatomic, readonly, getter=isBannerLoaded) BOOL bannerLoaded;
@end

然后在.m文件中

#import "MasterTableViewController.h"

@interface MasterTableViewController ()
@end

@implementation MasterTableViewController
@synthesize bannerLoaded;

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
if (!willLeave)
{
// nothing in this case thanks to ARC
}
return YES;
}

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
iAd.hidden = NO;
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
iAd.hidden = YES;
}

- (void)viewDidLoad
{
[super viewDidLoad];

for (int i = 0; i > 0; i++)
{
if (bannerLoaded)
{
iAd.hidden = NO;
}
else
{
iAd.hidden = YES;
}
}
}

现在的问题是,当我在没有互联网连接的情况下测试应用程序时,iAd 不会加载(显然),但它也不会隐藏。因此,在屏幕顶部留下了一个白色的大矩形。否则,当连接可用时,广告可以正常工作。有人有什么想法吗?另外 - 我只是添加了无限循环来看看它们是否有所作为,这些完全是故意的哈哈。

最佳答案

我假设您已通过 Storyboard添加了 ADBannerView,因为我看不到您初始化横幅位置的位置。

  1. 在 Storyboard中,将初始位置设置在屏幕外。
  2. 在“bannerViewDidLoadAd”中,以动画方式显示横幅。
  3. 在“bannerView: didFailToReceiveAdWithError:”中,将横幅动画设置为不可见。

这里有一个很好的例子https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/iAd_Guide/WorkingwithBannerViews/WorkingwithBannerViews.html

希望这有帮助。我刚刚实现了这个,但目前无法访问我的代码。

它确实会在模拟器中出现一些错误,但在设备上运行良好。

我已经在 iOS6 上对此进行了测试,即使显示 iAd 然后用户失去连接也可以正常工作(因此看起来像“bannerView: didFailToReceiveAdWithError:”正在为我调用)。

关于iphone - iAd加载失败时不隐藏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14675132/

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