Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
tvOSのリスト系のインデックスラベルを自作してみる
Search
toshi0383
November 20, 2017
Programming
0
630
tvOSのリスト系のインデックスラベルを自作してみる
Swift愛好会 vol24での発表資料です。
https://love-swift.connpass.com/event/67581
toshi0383
November 20, 2017
Tweet
Share
More Decks by toshi0383
See All by toshi0383
CoreDataはじめました
toshi0383
0
150
Swiftコードバトル必勝法
toshi0383
1
280
Sheets API使ってみた
toshi0383
2
340
visionOSについてGlobeeが取り組んでいること
toshi0383
0
520
agile20150512-150512055145-lva1-app6892.pdf
toshi0383
0
210
たのしいAirPlay
toshi0383
1
710
Profiling using Signpost
toshi0383
2
950
AVPlayer周りの設計tips
toshi0383
6
880
cmdshelf::from("Swift")
toshi0383
3
880
Other Decks in Programming
See All in Programming
「Cursor/Devin全社導入の理想と現実」のその後
saitoryc
0
820
A2A プロトコルを試してみる
azukiazusa1
2
1.4k
MDN Web Docs に日本語翻訳でコントリビュートしたくなる
ohmori_yusuke
1
120
git worktree × Claude Code × MCP ~生成AI時代の並列開発フロー~
hisuzuya
1
570
ふつうの技術スタックでアート作品を作ってみる
akira888
1
840
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
130
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
7.2k
Deep Dive into ~/.claude/projects
hiragram
14
2.5k
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
140
Result型で“失敗”を型にするPHPコードの書き方
kajitack
5
650
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
700
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
7
510
The Pragmatic Product Professional
lauravandoore
35
6.7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Speed Design
sergeychernyshev
32
1k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
54k
The Straight Up "How To Draw Better" Workshop
denniskardys
234
140k
Building an army of robots
kneath
306
45k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
GraphQLとの向き合い方2022年版
quramy
49
14k
Thoughts on Productivity
jonyablonski
69
4.7k
Making Projects Easy
brettharned
116
6.3k
Transcript
tvOSͷϦετܥͷΠϯ σοΫεϥϕϧΛࣗ࡞ͯ͠ ΈΔ Swi!Ѫձ vol24 Nov 20, 2017 Toshihiro Suzuki
© Toshihiro Suzuki 2017 1
whoami — ླ ढ़༟ (@toshi0383) — ձࣾͰͱͬ͠ʔ͞Μ — iOS/tvOS dev
at AbemaTV — GT SPORTS, F1 ! © Toshihiro Suzuki 2017 2
Latest News © Toshihiro Suzuki 2017 3
tools and apps © Toshihiro Suzuki 2017 4
tvOSͷAccelerated Scrollʹ͍ͭͯ͠·͢ © Toshihiro Suzuki 2017 5
Accelerated Scroll (ߴεΫϩʔϧ) tvOS10.2͔ΒՃ εΫϩʔϧ͕ॎʹ͍߹ʹɺ — ಉ͡ํʹԿεϫΠϓ — λοναʔϑΣεӈΛ্ԼʹεϫΠϓ ͷ͍ͣΕ͔ͰൃՐɻ
ඪ४Ͱ༗ޮʹͳ͍ͬͯͯɺແޮʹͰ͖ͳ͍ɻ © Toshihiro Suzuki 2017 6
Accelerated Scroll © Toshihiro Suzuki 2017 7
ϦετܥͷΠϯσοΫεϥϕϧ UITableView/UICollectionViewͰϥϕϧΛઃ ఆՄೳ delegateͰϥϕϧͱͦΕʹରԠ͢ΔIndexPath Λฦ͢ɻ © Toshihiro Suzuki 2017 8
ϥϕϧʹରԠ͢Δ IndexPathʹҰؾʹδϟ ϯϓͰ͖ͯͱͯศར © Toshihiro Suzuki 2017 9
ͦͷࠒAbemaTVͷ൪ද.. ͷมߋͷͨΊʹ࠶ੜϘλϯΛΘ͍ͤͯ Δɻ © Toshihiro Suzuki 2017 10
՝ ຊདྷͰ͋Ε࠶ੜϘλϯ൪ද͔Βͷ࠶ ੜʹׂΓ͍ͯͨͱ͜Ζ ΠϯσοΫεϥϕϧʹมߋͷػೳΛͤΕ ɺ࠶ੜΛղ์Ͱ͖ͦ͏ɻ © Toshihiro Suzuki 2017 11
࣮ࡍʹdelegateΛ࣮͠ ͯΈͨ © Toshihiro Suzuki 2017 12
© Toshihiro Suzuki 2017 13
— ϑΥϯτഎܠ৭ɺදࣔҐஔΛࢦఆͰ͖ͳ͍ — ͔ͿͬͯͱͯݟͮΒ͍ — ֯5จࣈ͘Β͍͕ݶͰɺͦΕҎ্ͩͱ truncate͞Εͨ ! ©
Toshihiro Suzuki 2017 14
Ͳ͏ͨ͠Β͍͍ͷ͔ © Toshihiro Suzuki 2017 15
ղܾࡦͦͷ1: ඇදࣔʹ͢Δ ߴεΫϩʔϧແޮʹͰ͖ͳ͍͕ɺΠϯσο ΫεΛඇදࣔʹ͢Δ͜ͱͰ͖Δɻ if #available(tvOS 10.2, *) { collectionView.indexDisplayMode
= .alwaysHidden } ͪΖΜ൪දͷέʔεͰ͜Εͩͱ࠶ੜϘλ ϯׂΓͯͷղܾʹͳ͍ͬͯͳ͍ɻ © Toshihiro Suzuki 2017 16
ղܾࡦͦͷ2: ࣗ࡞͢Δ — ӈͷεϫΠϓΛݕ͢Δ — ΠϯσοΫεΛεΫϩʔϧ͍ͯ͠Δؒεϫ ΠϓʹεΫϩʔϧ͕Ԡ͢Δ — ӈΛ্Լʹυϥοά͍ͯ͠ΔؒɺεΫ ϩʔϧ͕Ճͯ͠Ұؾʹδϟϯϓ͢Δ
— ΠϯσοΫεͷදࣔ/ඇදࣔएׯlazyʹԠ ͢Δ © Toshihiro Suzuki 2017 17
݁ߏྑ͘Ͱ͖ͯΔ ! © Toshihiro Suzuki 2017 18
ͪΐͬͱ͚ͩؤுͬͯΈͨ © Toshihiro Suzuki 2017 19
࣮ ৄ͘͠ɺGitHubʹ্͛ͯ͋ΔαϯϓϧΛ͝ཡ ͍ͩ͘͞ɻ(ਵ࣌ߋ৽தɻɻ https://github.com/toshi0383/GestureTV © Toshihiro Suzuki 2017 20
ӈͷ্ԼεϫΠϓͲ͏ ͬͯऔಘ͢Δͷʁ © Toshihiro Suzuki 2017 21
tvOS Advent CalendarͰެ։༧ఆʂ ॻ͍ͯ͘ΕΔਓืूத https://qiita.com/advent-calendar/2017/tvos © Toshihiro Suzuki 2017 22
·ͱΊ — tvOSͷϦετܥͷΠϯσοΫεϥϕϧΛࣗ࡞ ͯ͠Έ·ͨ͠ɻ — Πϕϯτ͑͞औΕΕɺ͋ͱͳΜͱ͔ͳΓ ͦ͏ɻ — ͜ΕͰগ͠൪ද͕͍͘͢ͳΔ..ʁ —
Advent CalendarΛ্ཱͪ͛ͳ͔ͬͨΒ͜͜ ·Ͱ͍ͬͯͳ͔͔ͬͨ © Toshihiro Suzuki 2017 23
We're hiring © Toshihiro Suzuki 2017 24