Мне не удается заставить блоки работать на Swift. Вот пример, который работал (без блока завершения):
UIView.animateWithDuration(0.07) {
self.someButton.alpha = 1
}
или, как вариант, без замыкающего закрытия:
UIView.animateWithDuration(0.2, animations: {
self.someButton.alpha = 1
})
но как только я пытаюсь добавить блок завершения, он просто не работает:
UIView.animateWithDuration(0.2, animations: {
self.blurBg.alpha = 1
}, completion: {
self.blurBg.hidden = true
})
Автозаполнение дает мне, completion: ((Bool) -> Void)?
но не знаю, как заставить его работать. Также пробовал с завершающим закрытием, но получил ту же ошибку:
! Could not find an overload for 'animateWithDuration that accepts the supplied arguments
Обновление для 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#>
})
Я не использую завершающее замыкание для блока завершения, потому что думаю, что ему не хватает ясности, но если вам это нравится, вы можете увидеть ответ Тревора ниже .