iAd 框架在 iPhone 上返回错误的高度



我有一个iAd,当我试图获取广告的高度以便我可以将其放在底部时,我试图将其放置在屏幕底部。此错误仅在我以横向进入屏幕时发生,因为广告在纵向方向上更高,并且仅在 iPhone 模拟器上和在 ipad 上一样,广告的高度相同。

我用来将添加放在底部的方法是将广告框的 y 值设置为视图的高度减去广告的高度。

这是我当前使用的代码:

- (void)viewWillAppear:(BOOL)animated
{
    CGRect adFrame = banner.frame;
    adFrame.origin.y = screenHeight - banner.frame.size.height;
    adFrame.size.width = screenWidth;
    banner.frame = adFrame;
    [banner setAutoresizingMask:UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth];
}
- (void)viewDidLoad 
{
    [super viewDidLoad];
    banner.frame = CGRectZero;
}

任何帮助将不胜感激。

我会看看Apple的示例代码 完全按照您的描述集成iAD,特别是在ContainerBanner/ContainerBanner/BannerViewController.m中。您正在寻找的是 ADBannerView 的- (CGSize)sizeThatFits:(CGSize)size .

CGRect adRect = CGRectZero;
CGRect contentFrame = self.view.bounds;
adRect.size = [banner sizeThatFits:contentFrame.size];
adRect.origin.y = CGRectGetHeight(contentFrame) - CGRectGetHeight(adRect);
banner.frame = adRect;

最新更新