AdMob 横幅在第一次加载时出现在主页指示器下方,并且不时出现
AdMob banner appears under home indicator in the first load and from time to time
当 ViewController 第一次加载到我的应用程序中时,AdMob 横幅不会出现在它们的专用超级视图中,而是会出现在主页指示器下方,如屏幕截图所示:
我注意到这不仅在第一次加载时发生,而且有时也会发生。
当我在场景 (ViewControllers) 中前后移动时,有时每个横幅都会按应有的方式出现在其专用的超级视图中,有时却不会。
横幅的专用超级视图的最高限制为 0 到安全区。所以它们应该出现在导航栏的正下方。视图按以下顺序从上到下设计:
- 导航栏
- 安全区开始
- 包含横幅的简单 UIView
- Table查看
- 安全区结束
- 主页指示器
相关代码:
override func viewWillAppear(_ animated: Bool) {
setBanner()
}
func setBanner() {
banner.delegate = self
banner.rootViewController = self
banner.load(GADRequest())
GADMobileAds.sharedInstance().requestConfiguration.testDeviceIdentifiers =
[ "kGADSimulatorID" ]
bannerContainerView.addSubview(banner)
}
我把 setBanner()
放在 func viewDidLoad()
而不是 viewWillAppear()
,但没有任何改变。
我在 iOS 模拟器和物理设备上测试并注意到了这种行为。
我在iPhone8上测试时没有出现这个问题,因为它在安全区下没有可见的space。
我猜横幅在它的超级视图可用之前加载,但我不确定。
更新: 包含横幅的视图的约束:
- 将尾部对齐到:安全区
- 对齐通往:安全区
- 身高等于:50
- 底部 Space 至:Table 查看
- 将顶部对齐到:安全区域
这是您添加横幅广告的视图的限制问题。请检查一下,或者你能展示一下吗
你给了哪些限制?
我意识到这个问题不是由包含横幅的 UIView 的约束引起的,而是由代码中设置的横幅的约束引起的(view.addConstraint()
)。我已经禁用了这样的约束,问题就简单地解决了。
当 ViewController 第一次加载到我的应用程序中时,AdMob 横幅不会出现在它们的专用超级视图中,而是会出现在主页指示器下方,如屏幕截图所示:
我注意到这不仅在第一次加载时发生,而且有时也会发生。
当我在场景 (ViewControllers) 中前后移动时,有时每个横幅都会按应有的方式出现在其专用的超级视图中,有时却不会。
横幅的专用超级视图的最高限制为 0 到安全区。所以它们应该出现在导航栏的正下方。视图按以下顺序从上到下设计:
- 导航栏
- 安全区开始
- 包含横幅的简单 UIView
- Table查看
- 安全区结束
- 主页指示器
相关代码:
override func viewWillAppear(_ animated: Bool) {
setBanner()
}
func setBanner() {
banner.delegate = self
banner.rootViewController = self
banner.load(GADRequest())
GADMobileAds.sharedInstance().requestConfiguration.testDeviceIdentifiers =
[ "kGADSimulatorID" ]
bannerContainerView.addSubview(banner)
}
我把 setBanner()
放在 func viewDidLoad()
而不是 viewWillAppear()
,但没有任何改变。
我在 iOS 模拟器和物理设备上测试并注意到了这种行为。
我在iPhone8上测试时没有出现这个问题,因为它在安全区下没有可见的space。
我猜横幅在它的超级视图可用之前加载,但我不确定。
更新: 包含横幅的视图的约束:
- 将尾部对齐到:安全区
- 对齐通往:安全区
- 身高等于:50
- 底部 Space 至:Table 查看
- 将顶部对齐到:安全区域
这是您添加横幅广告的视图的限制问题。请检查一下,或者你能展示一下吗 你给了哪些限制?
我意识到这个问题不是由包含横幅的 UIView 的约束引起的,而是由代码中设置的横幅的约束引起的(view.addConstraint()
)。我已经禁用了这样的约束,问题就简单地解决了。