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
290
Sheets API使ってみた
toshi0383
2
340
visionOSについてGlobeeが取り組んでいること
toshi0383
0
520
agile20150512-150512055145-lva1-app6892.pdf
toshi0383
0
220
たのしいAirPlay
toshi0383
1
720
Profiling using Signpost
toshi0383
2
960
AVPlayer周りの設計tips
toshi0383
6
880
cmdshelf::from("Swift")
toshi0383
3
890
Other Decks in Programming
See All in Programming
物語を動かす行動"量" #エンジニアニメ
konifar
14
4.7k
新しいモバイルアプリ勉強会(仮)について
uetyo
1
250
Comparing decimals in Swift Testing
417_72ki
0
170
サイトを作ったらNFCタグキーホルダーを爆速で作れ!
yuukis
0
260
MCPで実現できる、Webサービス利用体験について
syumai
7
2.5k
SwiftでMCPサーバーを作ろう!
giginet
PRO
2
240
AIに安心して任せるためにTypeScriptで一意な型を作ろう
arfes0e2b3c
0
340
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
130
自作OSでDOOMを動かしてみた
zakki0925224
1
1.3k
JetBrainsのAI機能の紹介 #jjug
yusuke
0
200
オホーツクでコミュニティを立ち上げた理由―地方出身プログラマの挑戦 / TechRAMEN 2025 Conference
lemonade_37
2
460
Bedrock AgentCore ObservabilityによるAIエージェントの運用
licux
9
630
Featured
See All Featured
How to Ace a Technical Interview
jacobian
278
23k
Visualization
eitanlees
146
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Fireside Chat
paigeccino
38
3.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
A better future with KSS
kneath
239
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
Making Projects Easy
brettharned
117
6.3k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Invisible Side of Design
smashingmag
301
51k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
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