UIView を継承する class に対するアニメーション操作を簡単に実現できるらしい。
Xcode 8.3.3 で定義可能な animate
UIView.animate(withDuration: TimeInterval, animations: () -> Void)
UIView.animate(withDuration: TimeInterval, animations: () -> Void, completion: ((Bool) -> Void)?)
UIView.animate(withDuration: TimeInterval, delay: TimeInterval, options: UIViewAnimationOptions, animations: () -> Void, completion: ((Bool) -> Void)?)
UIView.animate(withDuration: TimeInterval, delay: TimeInterval, usingSpringWithDamping: CGFloat, initialSpringVelocity: CGFloat, options: UIViewAnimationOptions, animations: () -> Void, completion: ((Bool) -> Void)?)
最初に最新のヘルプを見て何が定義可能かを確認するのが最初かもしれない。師匠に言ったら、え?当たり前でしょ?とか言われそう。
ググっても古い記事だと最新の環境に適合しないことはままあるので、そこで振り回される気がする。もっとも基礎をしっかり押さえていれば大した影響はないんでしょうけど・・・。
UIView.animate(withDuration: 1.0, animations: {
// ここにアニメーションさせたい UIView に関する操作(プロパティの変更とか)を行うコードをつらつらと書いていく
})
options に関する内容は UIViewAnimationOptions をヘルプで検索すると正確な一覧が出てくる。
.allowAnimatedContent .allowUserInteraction .autoreverse .beginFromCurrentState .curveEaseIn .curveEaseInOut .curveEaseOut .curveLinear .repeat .transitionCrossDissolve .transitionCurlUp .transitionCurlDown .transitionFlipFromTop .transitionFlipFromLeft .transitionFlipFromRight .transitionFlipFromBottom
なんか色々あるなぁ。
ひとまずメモ書きまで・・・