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; } 

任何帮助将非常感激。

我会看看苹果公司的示例代码,以准确地描述你的描述,特别是在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;