Я успешно реализовал iAd в Swift, за исключением случаев, когда появляется объявление, он реконфигурирует размеры self
. Как сделать так, чтобы объявление появилось перед экраном и не меняло размер экрана?iAd Reconfigures Screen: требуется iAd, чтобы появиться перед экраном - Swift
Это код, который я использовал:
class GameViewController: UIViewController, ADBannerViewDelegate {
var bannerView:ADBannerView?
override func viewDidLoad() {
super.viewDidLoad()
super.viewDidLoad()
self.canDisplayBannerAds = true
self.bannerView?.delegate = self
self.bannerView?.hidden = true
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
self.bannerView?.hidden = false
}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
return willLeave
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
self.bannerView?.hidden = true
}
}
Как сделать так, чтобы объявление появляется в передней части экрана, и не изменяет размер экрана?
Если вы используете автоматическое поведение баннера 'self.canDisplayBannerAds = true', вам не нужно добавлять другой баннер. Автоматическое поведение изменяет размер представления контроллера представления (следовательно, запускает автоматическую компоновку) и размещает баннер в нижней части _window_. Если вам нужно что-то немного другое, вот небольшой пример моего [iAd simple example] (https://github.com/perlfly/iAdExample). Он создает единый баннер, а затем позволяет добавить баннер в верхней или нижней части представления контроллера представления. Это всего лишь пример, но может быть отправной точкой для ваших нужд. –
@perlfly Спасибо за ваш вклад. У меня уже есть iAd, но моя проблема в том, что, как вы ссылаетесь, объявление запускает Auto-Layout и делает сам экран игры меньше. Я хочу, чтобы объявление появилось перед экраном и, следовательно, не влияло на макет экрана. – tdh
Чтобы избежать изменения размера контроллера, просто не устанавливайте 'self.canDisplayBannerAds = true' (по умолчанию оно ложно). Затем вручную добавьте баннер, где вам это нужно. Я рекомендую вам использовать singleton bannedView. Обратите внимание, что способ, которым вы создаете баннер, неверен. См. Пример, упомянутый ранее, для создания способа его создания и добавления его в представление контроллера. –