2016-03-23 18 views
0

iOS/xcode geliştirme konusunda çok yeniyim, bir kullanıcı bir kez tamamlandığında bir UILabel solduracak bir öğretici egzersiz parçası olarak çok basit bir şey yapmaya çalışıyorum oyun. Swift animasyonları ters çalışan çalışıyor

Yani etiketi gizleme olduğumda görünüm yükleri:

override func viewDidLayoutSubviews() { 
    winMessageLabel.alpha = 0 
} 

Sonra onu yeniden solmaya çalışıyorum oyunun tamamlanması:

UIView.animateWithDuration(1, animations: {() -> Void in 
    self.winMessageLabel.alpha = 1 
    self.view.layoutIfNeeded() 
}) 

Ama ziyade Soluk alfa 1 ile görünür ve sonra kaybolur. X/y koordinatlarını canlandırmaya çalıştığımda aynı davranışı alıyorum ve o zaman gitmek istediğim yere atlar ve daha sonra orijinal konumuna geri döndürür.

cevap

0

Ben sadece çalıştım - düzen geçersizdir Animasyonumdan önce layoutIfNeeded() işlevini çağırırsam, her şeyi sıralar ve etiket beklendiği gibi animasyonlar:

self.view.layoutIfNeeded() 

UIView.animateWithDuration(1, animations: {() -> Void in 
    self.winMessageLabel.alpha = 1 
    self.view.layoutIfNeeded() 
})