これは簡単なことですが、わかりません。アニメーションが完了してから戻る必要があるfuncにUIViewアニメーションを埋め込みます。
コンテキスト:VCがビューにアニメーションを表示し、VCがアニメーションが完了するまで待機します。 LoadingViewで(UIViewのサブクラス)
loadingView.animate()
:私はの残りの部分を含めたくない
animate() -> Bool {
UIView.animate(withDuration: 1.0, animations: {
self.imageViewCenterYConstraint.constant -= 20
self.layoutIfNeeded()
}, completion {
return true // This line obviously doesn't work.
})
}
をのViewControllerで
:
私はこのような何かをやって考えました完了ブロック内のコード。残りのコードはVCにあります。私はむしろアニメーションfuncに追加する追加の完了ハンドラを使ってこれを行うべきだと思っています。
PS:より良い解決策やベストプラクティスを知っている場合には、よりコンテキストがあります。ネットワークからデータを取得すると、読み込みアニメーションを表示して削除します。ネットワークデータが既にダウンロードされている場合でも、削除する前にアニメーションが完了するのを待っています。半分でアニメーションを止めたくない。
のように、このメソッドを呼び出すことができます。 – Losiowaty