Blokları Swift üzerinde çalıştırmada sorun yaşıyorum. İşte işe yarayan bir örnek (tamamlama bloğu olmadan):
UIView.animateWithDuration(0.07) {
self.someButton.alpha = 1
}
veya alternatif olarak takip eden kapatma olmadan:
UIView.animateWithDuration(0.2, animations: {
self.someButton.alpha = 1
})
ancak tamamlama bloğunu eklemeye çalıştığımda çalışmıyor:
UIView.animateWithDuration(0.2, animations: {
self.blurBg.alpha = 1
}, completion: {
self.blurBg.hidden = true
})
Otomatik tamamlama bana veriyor completion: ((Bool) -> Void)?
ama nasıl çalıştırılacağından emin değilim. Ayrıca sondaki kapanışla denendi ancak aynı hatayı aldım:
! Could not find an overload for 'animateWithDuration that accepts the supplied arguments
Swift 3/4 güncellemesi:
// This is how I do regular animation blocks
UIView.animate(withDuration: 0.2) {
<#code#>
}
// Or with a completion block
UIView.animate(withDuration: 0.2, animations: {
<#code#>
}, completion: { _ in
<#code#>
})
Tamamlama bloğu için takip eden kapatmayı kullanmıyorum çünkü netlikten yoksun olduğunu düşünüyorum, ancak beğenirseniz, aşağıda Trevor'ın cevabını görebilirsiniz .