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
540
tvOSのリスト系のインデックスラベルを自作してみる
Swift愛好会 vol24での発表資料です。
https://love-swift.connpass.com/event/67581
toshi0383
November 20, 2017
Tweet
Share
More Decks by toshi0383
See All by toshi0383
Sheets API使ってみた
toshi0383
2
180
visionOSについてGlobeeが取り組んでいること
toshi0383
0
330
agile20150512-150512055145-lva1-app6892.pdf
toshi0383
0
90
たのしいAirPlay
toshi0383
1
600
Profiling using Signpost
toshi0383
2
820
AVPlayer周りの設計tips
toshi0383
6
780
cmdshelf::from("Swift")
toshi0383
3
780
AbemaTV iOSのダウンロード再生機能
toshi0383
4
920
xcconfig pitfalls
toshi0383
0
1.3k
Other Decks in Programming
See All in Programming
教えて!スクラムコーチ品質とスピードのバランスはどうすりゃいいの?
pinboro
0
150
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
49
16k
The World is a Network (and We Are Just Nodes)
whatyouhide
0
100
Implementing Design Systems in Swift
seyfoyun
2
530
Good first issues of TypeProf
mame
4
770
TypeScriptの型とパフォーマンス (TSKaigi 2024)
ypresto
14
5.1k
Runtime Objects in Rust
mitsuhiko
0
220
Open standards for building event-driven applications in the cloud
meteatamel
0
230
RubyGems on ruby.wasm
kateinoigakukun
0
140
戦略的DDDは重いのか? / Is strategic DDD heavy?
pictiny
3
2.2k
Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”
akarin
1
160
“Seeing Like a Programmer”—Resiliency, Limits, and Moral Hazards in Software Engineering (LambdaConf 2024)
chriskrycho
0
430
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
221
21k
The World Runs on Bad Software
bkeepers
PRO
61
6.8k
Build your cross-platform service in a week with App Engine
jlugia
226
17k
4 Signs Your Business is Dying
shpigford
176
21k
Making the Leap to Tech Lead
cromwellryan
125
8.6k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
660
120k
Building Your Own Lightsaber
phodgson
100
5.7k
Six Lessons from altMBA
skipperchong
22
3k
The Invisible Side of Design
smashingmag
294
49k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
358
22k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
123
39k
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