使用Auto Layout的iAd ADBannerView有多种外观

iAd ADBannerView using Auto Layout has multiple appearances

我正在尝试将 ADBannerView 添加到我的应用程序中。

当没有广告显示时,我的标签可见,因为 ADBannerView 设置为隐藏:

然后当 ADBannerView 加载时它应该看起来像这样:

除了有时第一次加载应用程序时,以及其他一些我还没有发现任何规律性的时候,ADBannerView 显示如下:

ADBannerView以上的内容全部向上推

我的问题是,有什么方法可以控制 ADBannerView 的行为方式吗?无论哪种方式,现在对我来说都很好,只要我确定这是每次观看的方式。

约束相当简单:

adBanner: - 底部 0 - 离开 0 - 对 0 - 身高 50

label: - 与 adBanner

相同

start button: - 底部 60 - 左,右 10 - 身高 30

根据您提供的信息,我假设您已经使用 self.canDisplayBannerAds = true 和编程方式创建了 ADBannerViewself.canDisplayBannerAds = true 可用于 轻松 在您的应用程序中实施 iAds 的方式。这将为您创建 ADBannerView 并 show/hide ADBannerView 取决于它是否从 iAd 网络收到广告。

self.canDisplayBannerAds = true 也是您的 UILabel 被向上推的原因,正如您在第三张图片中所描述和显示的那样。当您的应用程序首次启动时,ADBannerView 首先从 iAd 网络收到广告的人会受到青睐。这就是为什么有时您的应用程序看起来像您的第二张图片,有时您的应用程序看起来像您的第三张图片。

您在这里有两个选择,要么从您的应用程序中删除 self.canDisplayBannerAds = true,我个人建议这样做,要么删除您以编程方式创建的 ADBannerView

仅使用 canDisplayBannerAds 属性。无需在故事板或回调中做任何事情。广告在维护您定义的自动版式约束条件下移动。 我为此发疯了,只发现了复杂的尝试。看了这个 https://developer.apple.com/videos/play/wwdc2015-503/ 并试了一下。真的就是这么简单。