iOSならアニメーションがUXに対してとても大事なことです。それでUIKitのAPIのおかげで実装するのが既にとても簡単です。しかし、UIKitの下のレベル、Core Animationも利用したら、自分のアプリにもっとかっこよくて、もっときれいなアニメーションも可能性になります。このプレゼンテーションはiOSでCore Animationの実装方法やエフェクトのデモンストレーションを説明します。
かっこいいものを見せたいと思います。
- UIKitのちがい、CALayerで出来ること
- CoreAnimationの実装
- サブクラスを利用したエフェクト
オヤジギャグが大好きです
20年前父の仕事で千葉県に引っ越し、僕と妹は幕張の小学校に入学しました。半年で友だちができて、帰国してから日本語を学んでいました。 それだけではなくて2007年にワーホリで新潟スキー場でバイト、3年前に東京のPixivでiOS開発しました。
暇な時間にはコミックビュアーを作っています。ユーザーが作ったデータを使うのでとんでもない画像データがあったりする。それでCoreAnimationを結構利用している。
CoreAnimationは何でしょう。
最初OS X ででて、UIKitの下にあるフレームワークです。グラフィックもアニメーションも多の津していてUIViewと深くつながっています。
CoreAnimationだけでゲームが出来る。ディズニーはCoreAnimationだけで作られているのが有る。デバッグするとレイヤーが見れる。
最適化したアニメーションを作れるようになる、もっとかっこよく出来る
CoreGraphicsとどう違いますか
こういうコードを書いたら これが出来ました
CoreGraphics書くならこのアプリオススメ
UIViewっぽく使える
角丸
こんな構造
どうしてUIViewはCoreAnimationのサブクラスじゃないの? UIViewのlayerクラスが変わることがある
CALayerで出来ること
DEMO: スクロールに合わせて拡大したりする画像の様子、Twitterのプロフィール欄みたいな
GPUで実行されているため以上に早い。 ほかにMaskやクリップもできるがCPUつかうので遅くなる
マスクも出来る
アニメーションしながらスクロールできるCell
影も普通にやると遅いがとても早く出来る
3Dもできる これが有名ですね
PrivateAPIを使っていてオススメできませんがこういうことも出来る
ロック解除のアニメーションがどうやってできてるのか調べてて見つけたんだ
このコードはGithubにも上げてますから気になったらどうぞ。
UIデバッグはReveal.appがオススメ
CALayerのアニメーション このレベルで出来るいいことはスピードを調整できること
コンテンツアニメーションをどうするか
アニメーショングループを作ってCompletionつけたりできる
CoreAnimation作れるソフト
CPUで処理が走ることもあるからテストを。
1つのレイヤーでこういうことが出来る
CAShapreLayerはダイナミックなエフェクトが出来る超おすすめ
アプリの中で魔法使いになれます
CATextLayerがあるけどラベル使ったほうがいい
オススメはUIView出始めて不満ならCALayerにしてみる。 どんなエフェクトも60fpsでかっこ良く出来る コード書くの大変だからUIKitから始めるのがいい。
— おまってぃー (@omatty198) 2016年3月2日
とても実践的なセッションだったなぁ#tryswiftconf
— WorldDownTown (@WorldDownTown) 2016年3月2日
「Core Animationで作る高度なグラフィックス ~60FPSも3Dもロック画面のHackも??~ #tryswiftconf」をトゥギャりました。 https://t.co/xlOdWmWTuR
— トゥギャッター開発まとめ (@tg__dev) 2016年3月2日
気に入った記事は はてなブックマーク
はてなブックマークアプリiOS開発チームから来ました! はてなブックマークにはSwift特集があります! 良い記事を見逃さないように、ご利用ください! http://b.hatena.ne.jp/hotentry/it/Swift
そして良いまとめ記事があったらはてなブックマークでブックマークしましょう! try! Swift の記事で盛り上がると嬉しいです!