Mam problem z uruchomieniem bloków w Swift. Oto przykład, który zadziałał (bez bloku uzupełniania):
UIView.animateWithDuration(0.07) {
self.someButton.alpha = 1
}
lub alternatywnie bez zamknięcia końcowego:
UIView.animateWithDuration(0.2, animations: {
self.someButton.alpha = 1
})
ale kiedy spróbuję dodać blok uzupełniania, po prostu nie zadziała:
UIView.animateWithDuration(0.2, animations: {
self.blurBg.alpha = 1
}, completion: {
self.blurBg.hidden = true
})
Autouzupełnianie daje mi, completion: ((Bool) -> Void)?
ale nie jestem pewien, jak to działa. Próbowano również z końcowym zamknięciem, ale wystąpił ten sam błąd:
! Could not find an overload for 'animateWithDuration that accepts the supplied arguments
Aktualizacja dla Swift 3/4:
// 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#>
})
Nie używam końcowego zamknięcia dla bloku uzupełniania, ponieważ wydaje mi się, że brakuje mu jasności, ale jeśli ci się spodoba, możesz zobaczyć odpowiedź Trevora poniżej .