2015-09-20 7 views
1

Я пытаюсь анимировать вид баннера снизу до экрана с использованием ограничений. кнопка привязана к bannerview, и она всегда должна находиться на одинаковом расстоянии от баннера. Это то, что я получаю: https://vid.me/F008 Как вы можете видеть, кнопка внезапно переходит, но я хотел, чтобы она медленно двигалась с использованием метода UIView.animateWithDuration. Это мой кодвиды, ограниченные представлением баннера внезапно, вместо медленного анимации

@IBOutlet weak var bannerToBottomGuideConstraint: NSLayoutConstraint! 
@IBOutlet weak var buttonToBannerConstraint: NSLayoutConstraint! 


@IBOutlet weak var bannerView: ADBannerView! 


override func viewDidLoad() { 
    super.viewDidLoad() 

    self.canDisplayBannerAds = true 
    bannerToBottomGuideConstraint.constant -= CGRectGetHeight(bannerView.bounds) 
    bannerView.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0) 
} 

func bannerViewDidLoadAd(banner: ADBannerView!) { 
    let time = 0.6 

    if banner.bannerLoaded == false{ 
     self.view.layoutIfNeeded() 
     bannerToBottomGuideConstraint.constant += CGRectGetHeight(bannerView.bounds) 
     UIView.animateWithDuration(time, animations: { 
      self.view.layoutIfNeeded() 
      }, completion: {_ in 
     }) 
    } 
} 
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) { 

    if bannerView.bannerLoaded{ 
     bannerToBottomGuideConstraint.constant -= CGRectGetHeight(bannerView.bounds) 
     UIView.animateWithDuration(0, animations: { 
      self.view.layoutIfNeeded() 
      }, completion: {_ in 
     }) 
    } 
} 

ответ

3

Вместо self.view.layoutIfNeeded() в блоке анимации, вызовите banner.superview!.layoutIfNeeded().

+0

отлично работает! Спасибо, я с нетерпением жду новинки книги – brumbrum

+0

Доступно сейчас в Early Release pdf, около 2/3 сделано. – matt

 Смежные вопросы

  • Нет связанных вопросов^_^