调整iAd横幅广告的视图

这似乎应该是简单的,但文件是非常不清楚的。 在介绍 ADBannerView类时,苹果说:

横幅视图必须始终使用内容大小标识符中定义的标准大小之一。 这是为了确保广告得到正确的绘制。 您可以使用视图允许在应用程序中使用的可能大小的集合来configuration横幅视图的requiredContentSizeIdentifiers属性。 要更改横幅视图的大小,请勿直接设置边界; 而是将currentContentSizeIdentifier属性设置为包含在该集合中的大小标识符之一。 您可以通过调用sizeFromBannerContentSizeIdentifier: class方法来检索特定设备上特定标识符等同的实际尺寸。

但是,这些方法在文档中都被标记为自iOS 6起弃用:

弃用声明:横幅视图不再使用内容大小标识符。 详细信息请参阅内容大小标识符。

如果你去“内容大小标识符” ,除了这些常量的文档以外,没有什么可以find的,所有这些常量都从iOS 6开始标记为depricated。其余的文档似乎也没有任何帮助。

如果这些方法已被废弃,而且似乎没有取代它们,那么您应该如何resize并获得iAd横幅的大小?

没有必要设置ADBannerView的大小。 您的ADBannerView将知道它在哪个设备上并正确设置其本身的尺寸。 所有你需要做的就是设置ADBannerView的位置。 检查这个实现的例子。

如果您使用的是自动布局,并希望ADBannerView位于屏幕的底部,然后用Bottom Space to: Bottom Layout Guide其钉在屏幕的底部, Bottom Space to: Bottom Layout Guide并将其与Align Center X to: Superview 。 请确保您没有设置任何高度,宽度,尾随或领先约束

好。 我仍然不知道resize,但我想出了最初的大小。

从iOS 6开始, ADBannerView具有adType属性。 该属性可以是ADAdTypeBannerADAdTypeMediumRectangle 。 文档给出了两种尺寸:横幅高度随设备types和方向而变化,如下所示:

 UI Idiom and Orientation | Ad Height -------------------------------------- phone, portrait | 50 points phone, landscape | 32 points pad, portrait or landscape | 66 points 

至于大小调整,我只能假设横幅视图通过观察方向变化通知自动获取屏幕的宽度。