В настоящее время я добавляю баннеры iAd в свою игру SpriteKit, и я успешно получил показ объявлений. Но когда я иду, чтобы удалить баннер, нажав его снизу, он не перемещается, хотя это абсолютно противоположно коду, чтобы заставить его появиться.iAd позиция баннера не обновляется
Это функция, которая вызывается из уведомления наблюдателя:
func hideBannerAd(notification:NSNotification)
{
if bannerAdVisible == true
{
println(bannerAd.frame);
UIView.beginAnimations("hideAd", context: nil);
bannerAd.frame = CGRectOffset(bannerAd.frame, 0, bannerAd.frame.size.height);
println(bannerAd.frame);
UIView.commitAnimations()
bannerAdVisible = false
bannerAd.cancelBannerViewAction()
}
}
В 2 println
заявления произвести следующее:
(0,0, 1024,0, 768,0, 66,0)
(0,0, 1090,0, 768,0, 66,0)
Таким образом, положение баннера меняется, но оно не отображается на экране.
Если вы знаете проблему, я был бы благодарен за небольшую помощь.
EDIT Я добавлю, что hideBannerAd
и весь код, чтобы сделать с объявления в GamveViewController.
первая: где эта функция называется? от основной/ui нитки? во-вторых: вы используете автоматическую компоновку? – luk2302
Если «frame» обновляется, но представление не изменяется, вы можете вызвать этот метод в фоновом потоке. Кроме того, стилистически, я предлагаю вам удалить старый синтаксис анимации iOS 3-стиля. –
Он вызывается из наблюдателя NSNotificationCenter из отдельного SKScene, и функция находится в классе GameViewController. Я не думаю, что я использую автоматический макет, поскольку я сделал все это в коде, и там нет ничего общего с макетом. – Antony