iOSDC Japan 2017 カンファレンスレポート

1日目トーク:インタラクティブ画面遷移の実践的解説, 短期間でやり遂げるための大規模リニューアルの進め方, ディープリンクの設計と実装

この記事を読むのに必要な時間:およそ 2.5 分

9月15日〜17日にiOSDC Japan 2017が開催されました。この記事では,16日に行われたイベント本編1日目の模様をレポートします。

オープニング

土曜の朝10時。早稲田大学の大きな部屋に集まり,iOSDCの本編が幕を開けました。最初はオープニングムービーが流れました。製作は去年同様コアスタッフの@motokiee氏です。昨年よりカンファレンスのスケールが大きくなっていることがうかがえます。

この後スポンサー紹介の動画もあったのですが,ナレーションはなんと三石琴乃氏でした。これには会場の参加者も驚いたようで,Twitterで多くの反響がありました。

最後にiOSDC Japan 2017の実行委員長である長谷川氏がiOSDCに対する思いを語り,参加者はこれから始まるiOSDCへの期待感を募らせました。

実行委員長の長谷川氏

画像

本編1日目は多くのトークが行われましたが全部は紹介しきれないため,ここではトークを3つほど取り上げて紹介します。

インタラクティブ画面遷移の実践的解説

ベストトーク賞9位にランクインした@satoshi0212氏は「インタラクティブな画面遷移」を行うにあたってどのような壁にぶつかったのか,どのような実装をしたのかという点についてトークしました。

トーク中はデモも多く行われていますので,詳しく知りたい方は後日公開される動画も参照されるとより理解が深まると思います。ここでは文字で伝えられる範囲でレポートしてみます。

@satoshi0212氏

画像

「インタラクティブな画面遷移」の定義については「ユーザ操作による変化量に応じたトランジションアニメーション」としています。遷移にインタラクティブ性を追加するにはUIPercentDrivenInteractiveTransitionオブジェクトを使用するのが最も簡単だと言います。

ここからはどのように実装するかという話になります。まず,モーダル画面をインタラクティブ化していきます。

元々の実装ではpresent処理で画面下から上にモーダルが表示されるというものでした。これをインタラクティブに,かつ画面の約半分までの表示にしていきます。

インタラクティブにするためにUIViewControllerAnimatedTransitioningをうまく使って画面遷移アニメーションをコントロールします。

インタラクティブにするためにやること(発表スライドの21ページ目より)

画像

全画面ではなく画面の一部を表示領域にする場合についてもUIViewControllerTransitioningDelegateを用いて画面遷移をカスタマイズします。

表示領域を画面の一部にするためにやること(発表スライドの23ページ目より)

画像

次に同一画面内でのインタラクティブ状態遷移についてです。元の実装ではボタンをタップすると画面表示が切り替わるというインタラクティブ性のないチュートリアルでした。これを,スクロール量に応じて画面内に配置したviewの傾きや透明度を変化させるという実装に変えます。これは単純にPresent/DismissやPush/Popで実現できるようなものではないため,以下のように様々な要素を組み合わせることで実現したとのことです。

画面内でインタラクティブ性を実現するには(発表スライドの32ページ目より)

画像

以上の実装とデモを紹介し,⁠画面遷移などを工夫することでアプリをもっと素敵にしていきましょう」という言葉でトークを締めくくりました。

著者プロフィール

須藤槙(すどうまき)

グロースハッカー,サーバサイドエンジニアを経て,今のところiOSエンジニアに落ち着いた人。日本酒とパワーメタルミュージックが好き。

自分で勉強会を主催したり,iOSDC 2017のコアスタッフ,女性エンジニア団体TECH PLAY女子部の運営,超小型人工衛星開発団体リーマンサットプロジェクトの技術部,広報部に所属したりしている。

Twitter:@akatsuki174

バックナンバー

iOSDC Japan 2017 カンファレンスレポート

コメント

コメントの記入