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
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
`t*(42&t>>10)`だけで音楽が鳴る、Swiftで実装するBytebeat / iOSDC Japan 2026
yutailang0119
0
29
WebKit::WebView Essentials / Sapporo.swift #1
yutailang0119
0
240
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
Other Decks in Programming
See All in Programming
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
0
110
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
310
デプロイ直後のレイテンシスパイクを調べたら、 Railsの仕様にたどり着いた
nhsykym
0
110
The Good Stuff, Not the Slop: Engineering High-Quality Android Apps with Modern AI Tooling
danybony
1
240
AIを上手に使っていこうとしたら越境せざるを得なくなった話 〜実践1年で見えた境界を越えなければならない理由と進め方〜 / Crossing borders with AI
tomoyakitaura
4
1.1k
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
140
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
230
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
150
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
170
AIとGame Jamで、ゲームを完成させた話
takahirosaeki
0
120
Deep dive into the select statement (GopherCon UK)
jespino
0
170
一参加者から『中の人』へ 〜全通PHPerがブースに立って学んだ、カンファレンスを100倍楽しむコツ〜
wp_daisuke
0
140
Featured
See All Featured
The browser strikes back
jonoalderson
0
1.7k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
ラッコキーワード サービス紹介資料
rakko
1
4.8M
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
The SEO Collaboration Effect
kristinabergwall1
1
550
A Tale of Four Properties
chriscoyier
163
24k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.9k
First, design no harm
axbom
PRO
2
1.3k
Speed Design
sergeychernyshev
33
2.1k
Six Lessons from altMBA
skipperchong
29
4.5k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
450
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