在 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-推荐答案 strong>
我遇到了同样的问题,但在 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/
|