Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
SwiftUI Inspectorが難しすぎる / Mobile Act OSAKA 18
Search
Yutaro Muta
March 06, 2026
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SwiftUI Inspectorが難しすぎる / Mobile Act OSAKA 18
Mobile Act OSAKA 18
https://mobileact.connpass.com/event/383587/
Yutaro Muta
March 06, 2026
More Decks by Yutaro Muta
See All by Yutaro Muta
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
200
WebKit::WebView Essentials / Sapporo.swift #1
yutailang0119
0
350
Google Nest CamとApple Vision frameworkと猫🐈🐈⬛ / onishi50
yutailang0119
0
450
Swift Concurrencyでのスケジュール処理を考える / Mobile Act OSAKA 17
yutailang0119
0
170
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
520
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
360
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
370
Apple Vision Pro購入RTA 1泊3日弾丸ハワイツアー / RTA: Purchase Apple Vision Pro in Hawaii
yutailang0119
0
1.6k
個人開発のたのしみ / Enjoying personal development
yutailang0119
0
1.2k
Other Decks in Programming
See All in Programming
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
380
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
Railsのためのパスキー実践入門 〜マルチテナントSaaSでの意思決定〜
utakaha
3
1.1k
Zero-Tap Sign-In対応、結局何をすればいいの?
mitohato14
0
470
Next.js: The final boss of Web Performance
guaca
0
330
Compiling a real-world CLI tool to native with Static Hermes
tmikov2023
0
130
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
200
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
200
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
200
Kotlinの15年とServer-Side Kotlin
n_takehata
1
160
JIS keyboard support in Omarchy
lef237
0
160
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Product Roadmaps are Hard
iamctodd
55
13k
Building the Perfect Custom Keyboard
takai
2
920
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.4k
Designing for humans not robots
tammielis
254
26k
For a Future-Friendly Web
brad_frost
184
10k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
540
Optimising Largest Contentful Paint
csswizardry
37
4k
Ethics towards AI in product and experience design
skipperchong
2
440
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
490
Transcript
SwiftUI Inspectorが 難しすぎる id:yutailang0119 / @yutailang0119 2026/03/06 Mobile Act Osaka
18 1
yutailang0119 • 株式会社はてな ◦ ◦ ◦ • • @京都オフィス アプリケーションエンジニア
サービスプラットフォームチーム try! Swift Tokyo Organizer ◦ 2026チケット販売中 AVP座談会 🥽 2
SwiftUI Inspector 3
macOS 26.3 4
5
6
iPadOS 26.2 (w/ Xcode 26.3) 7
8
9
iOS 26.2 (w/ Xcode 26.3) 10
11
12
SwiftUI inspector(isPresented:content: ) 13
inspector(isPresented:content:) • Navigationコンポーネントとpresentation両方 の性質を持つ • 高度な抽象化(単なるサイドバーではない) ◦ 画面サイズが小さい(コンパクト) >「シート」 ◦
大きなiPadの分割画面 > 「オーバーレイ」 • iOS 17.0+, iPadOS 17.0+, Mac Catalyst 17.0+, macOS 14.0+ 14
今回のお題 15
今回のお題 • inspector(isPresented:content:) を使用 • inspector、toolbarの配置を試す 16
① Inside navigation 17
① Inside navigation struct Inspectors: View { @State private var
isPresented: Bool = false var body: some View { NavigationStack { RootView() .toolbar { Toggle(isOn: $isPresented) } .inspector(isPresented: $isPresented) {} } } } 18
19
Inspector内で NavigationLinkする と... 20
Inspector内でNavigationLink struct Inspectors: View { var body: some View {
NavigationStack { RootView() .toolbar { Toggle(isOn: $isPresented) } .inspector(isPresented: $isPresented) { NavigationStack { NavigationLink() } } } } } 21
22
23
24
Inside navigationの課題 • Inspector内のNavigationLinkが外側で実 行 ◦ 別NavigationStackのスコープ外 ◦ コンパクトレイアウトでは、裏側で遷移してしまう •
Inspector内の実装が外側に巻き上げられる ◦ NavigationLink ◦ Modifier 25
Inspectorの巻き上げ • 巻き上げられる ◦ seachable ◦ toolbar ◦ ... •
巻き上げられない ◦ refreshable ◦ ... 26
27
② Outside navigation 28
② Outside navigation struct Inspectors: View { @State private var
isPresented: Bool = false var body: some View { NavigationStack { RootView() .toolbar { Toggle(isOn: $isPresented) } } .inspector(isPresented: $isPresented) {} } } 29
30
31
Outside navigationの注意点 • Inspector表示用のtoolbarをInspector側 に置けない ◦ 操作できなくなる 32
Outside navigationの注意点 struct Inspectors: View { var body: some View
{ NavigationStack { RootView() } .inspector(isPresented: $isPresented) { NavigationStack { Inspector() .toolbar { Toggle(isOn: $isPresented) } } } } } 33
34
35
Inspector Placement 36
https://developer.apple.com/videos/play/wwdc2023/10161/ 37
まとめ • InspectorはNavigationとToolbarとの組 み合わせで配置を考える • Inspector内で凝った実装をしない! ◦ NavigationLink ◦ searchable
◦ ... 38
ところで現代... Inspectorの使用箇所 減っていません...? 39
Keynote 15.1.1 on iPadOS 26.3.1 40
iOS 26ではFullモーダルに変更 iOS 18.6 iOS 26.2 41
Liquid Glass時代の Inspector... 42
References • • • https://developer.apple.com/documentation/SwiftUI/View/insp ector(isPresented:content:) https://developer.apple.com/videos/play/wwdc2023/10161/ https://www.createwithswift.com/presenting-an-inspector-wit h-swiftui/ 43
Advertisement 44
45
try! Swift Tokyo 2026 • 2026/04/12 (日) - 14 (火)
• 立川ステージガーデン • https://tryswift.jp/ 46
hatena.co.jp/recruit 47 47