OStack程序员社区-中国程序员成长平台

标题: ios - self.canDisplayBannerAds 与约束冲突 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:41
标题: ios - self.canDisplayBannerAds 与约束冲突

在 iOS 7.1 中,使用 self.canDisplayBannerAds = YES 显示 iAd 似乎会在不应该的情况下将内容推高。

Here is a sample project running in the iOS 7.0.3 simulator

And here is the same project running in the iOS 7.1 simulator

如果我删除两个 View 之间的垂直间距约束,则不会出现错误。

这仅仅是 iOS 中的错误还是我的问题

如果有人想尝试一下,这里是示例项目:

https://dl.dropboxusercontent.com/u/4521046/iPhoneUITest.zip



Best Answer-推荐答案


我遇到了同样的问题,但在 iOS 8 中。我有两个圆角按钮,用它们的宽度除以 2 创建一个圆。

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    self.instructionsButton.layer.cornerRadius = self.instructionsButton.frame.width / 2
}

在 iAd 显示之前,这些按钮不会是一个完整的圆圈。我补充说:

 self.originalContentView.layoutSubviews() 

进入我的viewDidLayoutSubviews:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    self.originalContentView.layoutSubviews()
    self.instructionsButton.layer.cornerRadius = self.instructionsButton.frame.width / 2
}

这修复了按钮以具有正确的负载约束。 canDisplayBannerAds 的文档指出:“影响是 View Controller 的 View 属性将不再返回最初提供的 View ,它将返回新容器。要访问原始 View ,请使用 originalContentView 属性。”您必须记住将 originalContentView 用于 self.view。

关于ios - self.canDisplayBannerAds 与约束冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21689814/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4