在 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
// 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#>
})
我没有为完成块使用尾随闭包,因为我认为它缺乏清晰性,但是如果您喜欢它,那么您可以看到 特雷弗的回答如下。