tvosとiosがこんなに違うわけがない ~tvosアプリ実装編~

Post on 15-Apr-2017

785 Views

Category:

Engineering

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

〜 tvOS アプリ実装編 〜株式会社 CyberZ OPENREC 事業部エンジニア辰己 佳祐

自己紹介•    辰己 佳祐 (23)• 所属 – 株式会社 CyberZ OPENREC 事業部• 職種 – エンジニア(主に OPENREC.tv の iOS, tvOS 担当)• 755 – たつみんの FRESH! トーク• 趣味 – お菓子作り , 沖縄三線• アプリ – AppStore で「 Keisuke Tatsumi 」で検索求ム

Agenda

• はじめに• フォーカスの概念• applicationFrame の話• ボタンのクリック検知について• 最後に

Agenda

• はじめに• フォーカスの概念• applicationFrame の話• ボタンのクリック検知について• 最後に

はじめに2015年12月に OPENREC.tv は AppleTV に対応しました!

はじめに• 今回は実際に実装してみてわかった tvOSのアプリ開発は iOS と比べてここが違う!と感じたことについて発表します

Agenda

• はじめに• フォーカスの概念• applicationFrame の話• ボタンのクリック検知について• 最後に

フォーカスの概念tvOS ではフォーカスという概念がとても重要な特徴の一つとなっています

画像参照元 URL : http://www.fastcodesign.com/3050952/four-fun-design-flourishes-in-apple-tvs-new-tvos

Siri Remote

Touch サーフェスによるトラックパッドのようなカーソル移動がメインになっているため、いまどこにカーソルがいるのかを判断するためにフォーカスの概念が導入されています

画像参照元 URL : http://simpleguide.blog.jp/archives/46949468.html

フォーカス検知UIKit 内でフォーカス検知できる UI パーツ– UITabBar– UIButton– UITableViewCell– UICollectionViewCell– UISegmentedControl– UITextField– UISearchBar

( 2016/02/10 調べ)

フォーカス検知フォーカスが当たっているビュー上に設置した UIImageView の場合

画像参照元 URL : https://dribbble.com/shots/2239752--tvOS-Icon-Parallax-Effect

フォーカス移動の検知

context.nextFocusedView : 現在フォーカスが当たっているビューcontext.previouslyFocusedView : 一つ前にフォーカスが当たっていたビュー

フォーカスの移動を検知するためのメソッド

Agenda

• はじめに• フォーカスの概念• applicationFrame の話• ボタンのクリック検知について• 最後に

applicationFrame の話applicationFrame プロパティが使えない

applicationFrame の話実際に書こうとすると、、、

applicationFrame プロパティが使えない

使っちゃダ〜メ♡

applicationFrame の話

UIKit.framework の UIScreen クラス内にあるプロパティ欄にも、、、

実際に書こうとすると、、、applicationFrame プロパティが使えない

使っちゃダ〜メ♡

ダメよ〜ダメダメ♡

どうしてダメなのか > <

1. AppleTV にはステータスバーの概念が無いから

ステータスバーなんて無かった

見渡す限りのダメよ〜ダメダメ♡

どうしてダメなのか > <

1. AppleTV にはステータスバーの概念が無いから2. AppleTV にはマルチタスキングのようなスプリットビューの概念が無いから

マルチタスキングiPad では、 iOS 9 の【 Slide Over 】と【 Split View 】という機能の追加で、2 つのアプリを同時に起動して操作できるようになった

画像参照元 URL : http://www.appbank.net/2015/09/17/iphone-news/1096738.php

どうしてダメなのか > <

1. AppleTV にはステータスバーの概念が無いから2. AppleTV にはマルチタスキングのようなスプリットビューの概念が無いから3. テレビは回転を検知できないから

どうしてダメなのか > <

1. AppleTV にはステータスバーの概念が無いから2. AppleTV にはマルチタスキングのようなスプリットビューの概念が無いから3. テレビは回転を検知できないから

つまりスクリーンのフレームサイズが1パターン(ランドスケープで全画面)しかないので、 applicationFrame を使う必要がなくなる

Agenda

• はじめに• フォーカスの概念• applicationFrame の話• ボタンのクリック検知について• 最後に

ボタンのクリック検知についてiOS でよくあるボタンアクションの実装

ボタンのクリック検知についてiOS でよくあるボタンアクションの実装

ボタンは同じはずtvOS でも同じコードで実装でしょ?そうでしょ?

はんのうがない。ただの しかばね のようだ。

あれ?故障かな?と思ったら何かおかしいと思って、 UIKit の中身を覗いてみると、 forControlEvents のオプション指定に新たな項目が増えていました。それが、、、

あれ?故障かな?と思ったら何かおかしいと思って、 UIKit の中身を覗いてみると、 forControlEvents のオプション指定に新たな項目が増えていました。それが、、、

UIControlEventPrimaryActionTriggeredー (その UI パーツの)主なアクションを引き起こす

tvOS でのボタンのクリック検知

tvOS でのボタンアクションの実装

iOS でよくあるボタンアクションの実装

Agenda

• はじめに• フォーカスの概念• applicationFrame の話• ボタンのクリック検知について• 最後に

最後に今回発表させていただいた内容は tvOS とiOS の違いのほんの一部です!続きはブログで!

ご清聴ありがとうございました

top related