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
SwiftUIでハーフモーダルを表示するライブラリが できたのでその紹介をします / ResizableSheet
Search
matsuji
September 18, 2021
Programming
3
360
SwiftUIでハーフモーダルを表示するライブラリが できたのでその紹介をします / ResizableSheet
matsuji
September 18, 2021
Tweet
Share
More Decks by matsuji
See All by matsuji
Xcode Previewを気軽に利用するためのDI戦略
matsuji
2
3.7k
iOS15からのCommunication NotificationとSiri
matsuji
3
1.7k
Swiftで始める静的解析
matsuji
10
4.3k
Other Decks in Programming
See All in Programming
はてなにおける CSS Modules、及び CSS Modules に足りないもの / CSS Modules in Hatena, and CSS Modules missing parts
mizdra
6
870
Tailwind CSSを本気でカスタマイズする方法
fsubal
13
5k
FigmaとPHPで作る1ミリたりとも表示崩れしない最強の帳票印刷ソリューション
ttskch
42
18k
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
660
Ruby Pattern Matching
bkuhlmann
0
920
Git Rebase
bkuhlmann
11
1.6k
PostmanでAPIの動作確認が楽になった話
h455h1
0
160
MetricKitで予期せぬ終了を検知する話 / Detect unexpected termination with MetricKit
nekowen
0
180
DMMプラットフォームがTiDB Cloudを採用した背景
pospome
8
3.9k
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
160
VSCodeでのDatabricks開発もお勧めしたい/I would also recommend Databricks development with VSCode.
kazumain
0
250
サイコロで理解する統計的仮説検定の考え方
tatamiya
4
790
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
266
26k
For a Future-Friendly Web
brad_frost
171
8.9k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
321
20k
YesSQL, Process and Tooling at Scale
rocio
163
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
16
6.4k
Practical Orchestrator
shlominoach
181
9.7k
We Have a Design System, Now What?
morganepeng
42
6.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
30
46k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
240
1.2M
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
Transcript
SwiftUIͰϋʔϑϞʔμϧΛදࣔ͢ΔϥΠϒϥϦ͕ Ͱ͖ͨͷͰͦͷհΛ͠·͢ ·ͭ͡ @mtj_j #iOSDC #f #͜ͷτʔΫ͕͍
·ͭ͡ • αϥϦʔϚϯ ݉ ݸਓΞϓϦ։ൃऀ • ݸਓΞϓϦΛϦϦʔε → AppStoreແྉΞϓϦϥϯΩϯά1Ґ /
150ສ DL → 2ϲ݄લʹࣄۀৡ • ϲ݄લʹݸਓ։ൃͰ Widgetter for Twitter ΛϦϦʔε #iOSDC #f #͜ͷτʔΫ͕͍
·ͭ͡ • αϥϦʔϚϯ ݉ ݸਓΞϓϦ։ൃऀ • ݸਓΞϓϦΛϦϦʔε → AppStoreແྉΞϓϦϥϯΩϯά1Ґ /
150ສ DL → 2ϲ݄લʹࣄۀৡ • ϲ݄લʹݸਓ։ൃͰ Widgetter for Twitter ΛϦϦʔε • ڈͷiOSDCͰʮSwiftͰ࢝ΊΔʂ੩తղੳʯͱ͍͏ λΠτϧͰൃද #iOSDC #f #͜ͷτʔΫ͕͍
·ͭ͡ • αϥϦʔϚϯ ݉ ݸਓΞϓϦ։ൃऀ • ݸਓΞϓϦΛϦϦʔε → AppStoreແྉΞϓϦϥϯΩϯά1Ґ /
150ສ DL → 2ϲ݄લʹࣄۀৡ • ϲ݄લʹݸਓ։ൃͰ Widgetter for Twitter ΛϦϦʔε • ڈͷiOSDCͰʮSwiftͰ࢝ΊΔʂ੩తղੳʯͱ͍͏ λΠτϧͰൃද #iOSDC #f #͜ͷτʔΫ͕͍
·ͭ͡ • αϥϦʔϚϯ ݉ ݸਓΞϓϦ։ൃऀ • ݸਓΞϓϦΛϦϦʔε → AppStoreແྉΞϓϦϥϯΩϯά1Ґ /
150ສ DL → 2ϲ݄લʹࣄۀৡ • ϲ݄લʹݸਓ։ൃͰ Widgetter for Twitter ΛϦϦʔε • ڈͷiOSDCͰʮSwiftͰ࢝ΊΔʂ੩తղੳʯͱ͍͏ λΠτϧͰൃද #iOSDC #f #͜ͷτʔΫ͕͍
·ͭ͡ • αϥϦʔϚϯ ݉ ݸਓΞϓϦ։ൃऀ • ݸਓΞϓϦΛϦϦʔε → AppStoreແྉΞϓϦϥϯΩϯά1Ґ /
150ສ DL → 2ϲ݄લʹࣄۀৡ • ϲ݄લʹݸਓ։ൃͰ Widgetter for Twitter ΛϦϦʔε • ڈͷiOSDCͰʮSwiftͰ࢝ΊΔʂ੩తղੳʯͱ͍͏ λΠτϧͰൃද #iOSDC #f #͜ͷτʔΫ͕͍
SwiftUIͰϋʔϑϞʔμϧΛදࣔ͢ΔϥΠϒϥϦ͕ Ͱ͖ͨͷͰͦͷհΛ͠·͢ ·ͭ͡ @mtj_j #iOSDC #f #͜ͷτʔΫ͕͍
ϋʔϑϞʔμϧ • ը໘ͷԼ͔Βग़ͯ͘ΔView • υϥοάδΣενϟʔʹ߹Θͤͯը໘ͷ్தͰ ࢭ·ͬͨΓɺը໘͍ͬͺ͍ʹ͕ͬͨΓ͢Δ • ը໘ͷԼʹυϥοά͢Δ͜ͱͰӅ͢͜ͱͰ͖Δ #iOSDC #f
#͜ͷτʔΫ͕͍
ϋʔϑϞʔμϧͷ࣮ͨ͜͠ͱ͋Γ·͔͢ʁ #iOSDC #f #͜ͷτʔΫ͕͍
ͩΔ͍ͬ͢ΑͶ😮💨 #iOSDC #f #͜ͷτʔΫ͕͍
ϋʔϑϞʔμϧͷϥΠϒϥϦ #iOSDC #f #͜ͷτʔΫ͕͍ • scenee/FloatingPanel • slackhq/PanModal • AndreaMiotto/PartialSheet
UIKitͰ࣮͞Ε͍ͯΔ (SwiftUIͰ͍͍ͨ) ϋʔϑϞʔμϧͷϥΠϒϥϦ #iOSDC #f #͜ͷτʔΫ͕͍ • scenee/FloatingPanel • slackhq/PanModal
• AndreaMiotto/PartialSheet
ϋʔϑϞʔμϧͷϥΠϒϥϦ #iOSDC #f #͜ͷτʔΫ͕͍ • scenee/FloatingPanel • slackhq/PanModal • AndreaMiotto/PartialSheet
υϥοάͰେ͖ͨ͘͠ΓͰ͖ͳ͍
SwiftUIͰʂ #iOSDC #f #͜ͷτʔΫ͕͍
؆୯ʹʂʂ #iOSDC #f #͜ͷτʔΫ͕͍
ΧελϚΠζੑͷ ߴ͍ϋʔϑϞʔμϧΛʂʂʂ #iOSDC #f #͜ͷτʔΫ͕͍
#iOSDC #f #͜ͷτʔΫ͕͍ ResizableSheet
Demo #iOSDC #f #͜ͷτʔΫ͕͍ (Ұ൪γϯϓϧͳͭ)
ResizableSheetͷػೳ #iOSDC #f #͜ͷτʔΫ͕͍ • 3ͭͷঢ়ଶΛαϙʔτ (hidden, midium, large) •
υϥοάʹ߹ΘͤͨViewͷߋ৽ • ϋʔϑϞʔμϧͷߴ͞ͷࣗಈܭࢉ • TrackableScrollViewΛ༻͍Δ͜ͱͰɺScrollViewʹରԠ • ෳͷϋʔϑϞʔμϧͷαϙʔτ
ResizableSheetͷػೳ #iOSDC #f #͜ͷτʔΫ͕͍ • 3ͭͷঢ়ଶΛαϙʔτ (hidden, midium, large) •
υϥοάʹ߹ΘͤͨViewͷߋ৽ • ϋʔϑϞʔμϧͷߴ͞ͷࣗಈܭࢉ • TrackableScrollViewΛ༻͍Δ͜ͱͰɺScrollViewʹରԠ • ෳͷϋʔϑϞʔμϧͷαϙʔτ
ResizableSheetͷߏ #iOSDC #f #͜ͷτʔΫ͕͍
ResizableSheetͷߏ #iOSDC #f #͜ͷτʔΫ͕͍
ResizableSheetͷߏ #iOSDC #f #͜ͷτʔΫ͕͍
ResizableSheetͷߏ #iOSDC #f #͜ͷτʔΫ͕͍
ResizableSheetͷߏ #iOSDC #f #͜ͷτʔΫ͕͍
ResizableSheetͷߏ #iOSDC #f #͜ͷτʔΫ͕͍
Demo #iOSDC #f #͜ͷτʔΫ͕͍ (ෳࡶͳsheetͷͭ)
ResizableSheetͷػೳ #iOSDC #f #͜ͷτʔΫ͕͍ • 3ͭͷঢ়ଶΛαϙʔτ (hidden, midium, large) •
υϥοάʹ߹ΘͤͨViewͷߋ৽ • ϋʔϑϞʔμϧͷߴ͞ͷࣗಈܭࢉ • TrackableScrollViewΛ༻͍Δ͜ͱͰɺScrollViewʹରԠ • ෳͷϋʔϑϞʔμϧͷαϙʔτ
Demo #iOSDC #f #͜ͷτʔΫ͕͍
ResizableSheetͷػೳ #iOSDC #f #͜ͷτʔΫ͕͍ • 3ͭͷঢ়ଶΛαϙʔτ (hidden, midium, large) •
υϥοάʹ߹ΘͤͨViewͷߋ৽ • ϋʔϑϞʔμϧͷߴ͞ͷࣗಈܭࢉ • TrackableScrollViewΛ༻͍Δ͜ͱͰɺScrollViewʹରԠ • ෳͷϋʔϑϞʔμϧͷαϙʔτ
Demo #iOSDC #f #͜ͷτʔΫ͕͍
·ͱΊ #iOSDC #f #͜ͷτʔΫ͕͍ ελʔ͍ͩ͘͞ https://github.com/mtj0928/ResizableSheet