У меня есть рамка iAd среднего размера (300 x 250), которую я хочу разместить по центру. Позвольте мне сначала сказать, что я вставил его прямо в контроллер представления, запустил симулятор, и он не обнаружил никаких проблем. Затем я добавил автоматические ограничения для центрирования по горизонтали и вертикали. В предварительном просмотре раскадровки это сработало, но когда я запустил его в реальном симуляторе, рекламы нигде не было. Я вывел сообщение об успехе, поэтому оно загрузилось и все такое, но не появилось. Удаление ограничений исправило это.
Поэтому я попытался сделать это программно. Я создал необходимые делегаты и все такое, и код, который я вижу, как это сделать, очень похож на другие, поэтому я понятия не имею, почему это не работает. Независимо от того, какие значения я добавляю в CGRect, реклама везде выглядит одинаково.
Код:
import UIKit
import iAd
class replayAdViewController: UIViewController, ADBannerViewDelegate {
@IBOutlet var bannerView: ADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
bannerView!.delegate = self
}
func bannerViewDidLoadAd(banner: ADBannerView!)
{
println("success, banner loaded")
var width = self.view.frame.width
var height = self.view.frame.height
banner.frame = CGRectMake(width, height, 300, 250)
self.view.addSubview(banner) //Add banner to view (Ad loaded)
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError
error: NSError!)
{
println("failed to load ad, removed")
println(error)
//banner.removeFromSuperview() //Remove the banner (No ad)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
Я попытался переместить оператор CGRect из функции в viewDidLoad и использовать bannerView.frame и т. д. Я предполагаю, что каким-то образом связываю баннер со свойствами CGRect или что-то неправильно, но ошибок нет, поэтому я не не знаю. Также я не понимаю, почему автоматические ограничения портят его только вертикальным и горизонтальным центром, но решение любой проблемы действительно помогло бы мне.
Спасибо.