gpt4 book ai didi

ios - Swift:意外放大广告

转载 作者:行者123 更新时间:2023-11-28 09:05:27 25 4
gpt4 key购买 nike

我使用以下代码添加了 MoPub 横幅广告:

 self.adView.delegate = self
self.adView.frame = CGRectMake(0, self.view.bounds.size.height - MOPUB_BANNER_SIZE.height,
screenWidth, MOPUB_BANNER_SIZE.height)
self.view.addSubview(self.adView)
self.adView.loadAd()

由于某种原因,当我运行该应用程序时,屏幕没有完全显示,但它有一个奇怪的缩放。会发生什么?

enter image description here

更新:

我将 adView 的框架移动到 viewDidLayoutSubviews(),如下所示:

override func viewDidLoad(){
self.adView.delegate = self
self.view.addSubview(self.adView)
self.adView.loadAd()
}


override func viewDidLayoutSubviews() {

var screenSize: CGRect = UIScreen.mainScreen().bounds
var screenWidth = screenSize.width

self.adView.frame = CGRectMake(0, self.view.bounds.size.height - MOPUB_BANNER_SIZE.height,
MOPUB_BANNER_SIZE.width, MOPUB_BANNER_SIZE.height)

}

但错误仍然存​​在,我正在使用自动布局和尺寸类

最佳答案

viewDidLoad 中存在的框架属性并不反射(reflect)将在屏幕上呈现的 View 的实际框架属性。在这种方法中,已经创建了网点等等,但还没有布局。

因此,这是创建 AdView 并设置其属性的正确位置...

但是布局必须在其他地方完成——最好的地方是viewDidLayoutSubviews。如果调用此方法,您可以确保框架属性设置正确。

在更改代码中的任何内容之前,您只需将框架记录到 viewDidLoad 并将它们记录到 viewDidLayoutSubviews - 它们应该不同。然后您可以继续将您的布局逻辑也移到那里。

关于ios - Swift:意外放大广告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30958946/

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