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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yutaro Muta
March 06, 2026
Programming
190
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
Transcript
47 slides
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
More Decks by Yutaro Muta
See All by Yutaro Muta
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
220
WebKit::WebView Essentials / Sapporo.swift #1
yutailang0119
0
390
Google Nest CamとApple Vision frameworkと猫🐈🐈⬛ / onishi50
yutailang0119
0
460
Swift Concurrencyでのスケジュール処理を考える / Mobile Act OSAKA 17
yutailang0119
0
180
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
530
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
370
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
Spec-driven Development with AI
simas
PRO
0
2.3k
우리의 Nitro Modules는 당신의 Turbo Modules보다 아름답다
l2hyunwoo
0
260
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
230
Goコンパイラを作ってGoをもっと理解する / Build a Go compiler to better understand Go
ikura_hamu
0
130
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
370
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
330
ActionController meets Protocol Buffers
sorah
1
800
SODA - FACT BOOK(EN)
sodainc
1
230
PumaからFalconに移行したRailsアプリケーションでの実践
falcon8823
0
380
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
290
Long Living Tokens, Die, Die, Die! (or: The One Ring is Banned in Modern)
sylph01
0
420
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
433
67k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
400
Paper Plane (Part 1)
katiecoart
PRO
3
12k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
630
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
Navigating Team Friction
lara
192
16k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
2
980
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
660
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
690
Fireside Chat
paigeccino
43
4.1k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k