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
170
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
170
WebKit::WebView Essentials / Sapporo.swift #1
yutailang0119
0
310
Google Nest CamとApple Vision frameworkと猫🐈🐈⬛ / onishi50
yutailang0119
0
440
Swift Concurrencyでのスケジュール処理を考える / Mobile Act OSAKA 17
yutailang0119
0
170
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
510
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
360
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
Other Decks in Programming
See All in Programming
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
260
半永久的に提供し続けられるプライベートクラウドを目指して ― 利用者の認知負荷を抑えるAPI抽象化とハードウェア世代交代の基盤設計
tomokon
0
400
マイコン向けの軽量Ruby「PicoRuby」で各種デバイスを制御するネイティブアプリの実現手法
bash0c7
0
470
Are APIs Still Relevant in the AI Era?
soyuka
0
400
iOSDC2026登壇資料.pdf
riofujimon
0
200
Security issues being discussed on Web Platforms
petamoriken
0
1.4k
Heart of Swift Concurrency
koher
0
1.1k
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.1k
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
760
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
270
Java 27新機能 / Java 27 new features
kishida
2
190
setup-vp GitLab対応の裏側
naokihaba
0
150
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.2k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
410
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
380
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
710
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
290
Optimising Largest Contentful Paint
csswizardry
37
4k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
250
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
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