Ios Swift:意外放大广告

Ios Swift:意外放大广告,ios,swift,sprite-kit,mopub,Ios,Swift,Sprite Kit,Mopub,我添加了带有以下代码的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.loa

我添加了带有以下代码的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()
由于某种原因,当我运行应用程序时,屏幕并没有完全显示出来,但它有一个奇怪的缩放。会发生什么

更新:

我将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)

}

但是错误仍然存在,我使用的是自动布局和大小类

视图加载中的帧属性不反映将在屏幕上显示的视图的实际帧属性。在这种方法中,已经创建了销售点以及所有这些,但尚未布置

因此,它是创建AdView、设置其属性的正确位置

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


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

viewDidLoad
中显示的框架属性并不反映将在屏幕上显示的视图的实际框架属性。在这种方法中,已经创建了销售点以及所有这些,但尚未布置

因此,它是创建AdView、设置其属性的正确位置

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



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

我自己解决了这个问题。使用Spritekit和场景时,请记住在呈现场景之前始终配置场景,特别是场景的缩放模式。将场景的缩放模式设置为:
scaleMode=.Fill
后,缩放停止。

我自己解决了这个问题。使用Spritekit和场景时,请记住在呈现场景之前始终配置场景,特别是场景的缩放模式。将场景的scaleMode设置为:
scaleMode=.Fill
后,缩放停止。

该代码是从何处编写的,还是从何处调用的?从
viewDidLoad
viewDidLoad
中没有布局信息,因此帧和大小可能错误。@luk2302是的,它位于viewDidLoad中,为什么它们是错误的?代码是从何处编写的,还是从何处调用的?从
viewDidLoad
viewDidLoad
中没有布局信息,因此帧和大小可能错误。@luk2302是的,它位于viewDidLoad中,为什么它们是错误的?代码是从何处编写的,还是从何处调用的?从
viewDidLoad
viewDidLoad
中没有布局信息,因此帧和大小可能错误。@luk2302是的,它位于viewDidLoad中,为什么他们错了?我将self.AdView.frame移到了viewDidLayoutSubviews,但缩放仍然出现。@OmarDlhz您是否尝试记录该帧并查看该属性是否有意义?顺便说一句:我忘了问:你在用自动布局吗?是的,我在用自动布局。如何记录帧?我只是复制了出现在mopub网站上的代码。@OmarDlhz好的,如果您使用的是自动布局,则根本无法设置框架-您必须操作布局约束。我甚至禁用了大小类,但问题仍然存在。我将self.AdView.frame移动到viewDidLayoutSubviews,但缩放仍然出现。@OmarDlhz您是否尝试记录框架并查看该属性是否有实际意义?顺便说一句:我忘了问:你在用自动布局吗?是的,我在用自动布局。如何记录帧?我只是复制了出现在mopub网站上的代码。@OmarDlhz好的,如果您使用的是自动布局,则根本无法设置框架-您必须操作布局约束。我甚至禁用了大小类,但问题仍然存在。我将self.AdView.frame移动到viewDidLayoutSubviews,但缩放仍然出现。@OmarDlhz您是否尝试记录框架并查看该属性是否有实际意义?顺便说一句:我忘了问:你在用自动布局吗?是的,我在用自动布局。如何记录帧?我刚刚复制了mopub网站上显示的代码。@OmarDlhz好的,如果您使用的是autolayout,您根本无法设置框架-您必须操作布局约束。我甚至禁用了大小类,问题仍然存在。