CoreAnimationの詳細

深く知りたい Core Animation まとめ2(アニメーション編)【iOS / Swift】 - SNOOZE LOG

Core Animation その1(レイヤー編)の記事はこちら 記事作成時の環境: Xcode13.0、iOS15、Swift 5 サンプルコード集 CoreAnimationZuroku を公開しています。 Core Animation が実行するアニメーションには「暗黙的アニメーション」と「明示的アニメーション」があり、暗黙的アニメーションとは、アプリの プログラマが特別に指示しなくても、Core Animation が自動的に作成するアニメーションです。 myLayer.opacity = 0.0 ・暗黙のアニメーションをトリガーするには、レイヤーオブジェクトのプロパティを更新するだけです。たとえば、レイヤーの不透明度を 1.0から 0.0に変更すると、レイヤーがフェードアウトして透明になります。 ・モ デルレイヤーツリーのレイヤーオブジェクトが変更されると 値はすぐに反映されます。ただし、 外観はすぐには変更されず、Core Animation は変更をトリガーとして暗黙的なアニメーションを作成およびスケジュールします。 ・暗黙的なアニメーションでは、デフォルトのタイミングプロパティとアニメーションが使用されます。 レイヤーのアニメータブルなプロパティを変更時に、暗黙的アニメーションを発生させずに変更する方法を3つ紹介します。 (その1) CATransactionを使用します。 トランザクション については後ほどで項目を設けています。 CATransaction.begin() CATransaction.setDisableActions(true) myLayer.opacity = 0.0 // アニメーション化をしたくないプロパティ変更 CATransaction.commit() (その2)初期値の変更については style 辞書へのセットも利用できます。アニメーション化せずにレイヤープロパティの初期値を変更できます。 myLayer.style = ["opacity": 0.0] // keyPath:

深く知りたい Core Animation まとめ2(アニメーション編)【iOS / Swift】 - SNOOZE LOG