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
160
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
WebKit::WebView Essentials / Sapporo.swift #1
yutailang0119
0
230
Google Nest CamとApple Vision frameworkと猫🐈🐈⬛ / onishi50
yutailang0119
0
390
Swift Concurrencyでのスケジュール処理を考える / Mobile Act OSAKA 17
yutailang0119
0
170
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
500
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
350
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
360
Apple Vision Pro購入RTA 1泊3日弾丸ハワイツアー / RTA: Purchase Apple Vision Pro in Hawaii
yutailang0119
0
1.6k
個人開発のたのしみ / Enjoying personal development
yutailang0119
0
1.2k
バックポートして学ぶ新APIの仕組み
yutailang0119
0
3.5k
Other Decks in Programming
See All in Programming
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
信頼性の目標を誰も求めてない
shubox
0
500
Webの地図
yosuke_furukawa
PRO
3
3.5k
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.9k
[DroidKaigi 2026] Bring your own phones to Gradle Managed Devices
f2lk
0
110
Deep dive into the select statement (GopherCon UK)
jespino
0
170
DroidKaigi 2026 「個人開発という実験場: Android エンジニアが手にする4つの自由」
slashnephy
0
230
ALB ログから Trace を気合で繋げる技術
fohte
7
880
LL言語やWebフレームワークのPostgreSQL対応 〜DBの機能がユーザーに届くまで〜
kentaroutakeda
0
150
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
900
新卒PdEのリアル
ryu1013
1
470
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
300
Featured
See All Featured
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
Building an army of robots
kneath
306
46k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
Designing for Performance
lara
611
70k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
Designing for Timeless Needs
cassininazir
1
470
Technical Leadership for Architectural Decision Making
baasie
3
560
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.8k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
4
610
Into the Great Unknown - MozCon
thekraken
41
2.7k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
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