Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
SwiftUIで作るvisionOS向けTabViewUIの知見
Search
さくたま
July 26, 2023
Programming
480
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
SwiftUIで作るvisionOS向けTabViewUIの知見
https://connpass.com/event/291022/
こちらで発表した内容です!
さくたま
July 26, 2023
More Decks by さくたま
See All by さくたま
第36回OEDC: マイコンを使った『アイテム』でXR体験をリッチに
sakutama_11
0
120
Unity Android XR入門
sakutama_11
0
510
AR×ドラムで切り拓く音楽表現【XRKaigi 2024】
sakutama_11
0
140
「ARドラム」の裏側 【Iwaken Lab. Tech Conference】
sakutama_11
1
2.7k
8th Wall × Babylon.jsでhavok physics 【Babylon.js ゆるほめLT会 vol.2】
sakutama_11
0
980
【NeRF撮り方LT会】NeRFが空間を理解する仕組み
sakutama_11
1
1.8k
Other Decks in Programming
See All in Programming
バグを直したら useEffect が消えた
colorful12
3
760
Flow は今どうなっているか
mizdra
PRO
0
750
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
200
Pythonの実行はどこまで賢くなったのか? CPythonとPyPyから見る最適化のしくみ
curekoshimizu
3
2.2k
プロポーザルを書いてもらう
pvcresin
0
590
freeeにおけるEvalsの実践例の紹介
freee
PRO
0
160
30年振りにコンパイラの定数整数除算を改善した
herumi
9
4.3k
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.1k
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
190
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
740
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
420
関東Kaggler会_NVIDIA_Nemotron_コンペ_振り返り
rick_ds
0
730
Featured
See All Featured
From π to Pie charts
rasagy
0
330
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
630
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.8k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.3k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
480
A Soul's Torment
seathinner
6
3.5k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
530
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3k
Code Reviewing Like a Champion
maltzj
528
40k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
390
Transcript
SwiftUIで作るvisionOS向け TabViewUIの知見 さくたま
自己紹介 #M1 #慶應 #CG研 #IwakenLab #MESONインターン #NeRF #ドラム #ARステージ演出 #Adobeファン
#Nianticファン
話すこと • TabViewの見た目 https://zenn.dev/meson/articles/visionos-tabview ◦ 種類 ◦ Ornament • SwiftUI開発でのデザイナーさんとの連携
◦ WWDC Designセッション ◦ Figma テンプレート ◦ エンジニアがオプションを検証 • マルチウィンドウの使い方難しい ◦ 最前ウィンドウ管理がうまくいかなかった
作ったもの • 音声認識→検索アプリ • Windowベース • SwiftUI • 2つのウィンドウ •
ChatGPT検索 ARISE - Decode Vision Pro でデモ
公式ドキュメント • SwiftUI Doc https://developer.apple.com/documentation/swiftui/tabview • Design Doc https://developer.apple.com/design/human-interface-guidelines/tab-views •
WWDC Session(必見) https://developer.apple.com/videos/play/wwdc2023/10109/
TabViewの見た目 方法は二つ • TabViewを使ってTabViewStyleでスタイルを指定 • TabView + PickerでPicker部分を別に実装
TabViewの見た目 DefaultTabViewStyle
TabViewの見た目 Ornament • ウィンドウの内容と,コントロールUIを分離できる • 補助的な情報を表示できる • 視線が当たっていない時最小化 →視線が当たった(ユーザーが必要な)時だけ情報を出す •
なるべくデフォルトのデザインを使う ToolBar (内容はそのままで,操作を切り替える ) TabView (内容を切り替える)
TabViewの見た目 PageTabViewStyle
TabViewの見た目 (Picker + TabView) SegmentedPickerStyle MenuPickerStyle WheelPickerStyle NavigationLinkPickerStyle
TabViewの見た目 (Picker をOrnament化) SegmentedPickerStyle MenuPickerStyle WheelPickerStyle NavigationLinkPickerStyle ❌
話すこと • TabViewの見た目 ◦ 種類 ◦ Ornament • SwiftUI開発でのデザイナーさんとの連携 ◦
WWDC Designセッション ◦ Figma テンプレート ◦ エンジニアがオプションを検証 • マルチウィンドウの使い方難しい ◦ 最前ウィンドウ管理がうまくいかなかった
デザイナーさんとの連携 WWDC23のうち特にデザイナー&エンジニアの共通認識にするべきと思ったもの
デザイナーさんとの連携 Figma • パーツの名前がわかって ドキュメントを調べやすい https://www.figma.com/community/file/1253443272911187215
デザイナーさんとの連携 1. 推奨されているパーツや使い方を共通認識として理解する ◦ WWDC セッション ◦ Figma ◦ ドキュメント
2. 推奨されていないが実現可能なものをエンジニアが検証する 3. 実現したいケースに最適なUI設計を「選ぶ」 SwiftUIでは(今の段階では?)「パーツを組み合わせて自由に作る」というより 「UI構成全体を提示されているものから選ぶ」というつもりの方が良いのでは
話すこと • TabViewの見た目 ◦ 種類 ◦ Ornament • SwiftUI開発でのデザイナーさんとの連携 ◦
WWDC Designセッション ◦ Figma テンプレート ◦ エンジニアがオプションを検証 • マルチウィンドウの使い方難しい ◦ 最前ウィンドウ管理がうまくいかなかった
マルチウィンドウ難しい Ornamentのドキュメントより 補助的なコントロールや情報を提供するには、別ウィンドウではなくオーナメントを 使用します。関連する機能を提供するためにオーナメントを使用することで、人々が 個別に管理しなければならない追加のウィンドウを開くことを避けることができま す。 →複数のウィンドウを使うことはあまり推奨されていない(SplitViewなど使う) →macOSのマルチウィンドウよりは実用性あると思うけど...
マルチウィンドウ難しい (余談) 最前ウィンドウ管理ができなかった 調査中...(というか後回しになり中...) (↓雑メモ) https://zenn.dev/sakutama_11/scraps/f393837ed4d5ac
まとめ ドキュメントやWWDCセッションを見てSwiftUIで使える選択肢を調査する →情報多いので共有,日本語まとめ超大事! TabViewについてまとめたのでぜひ見てください https://zenn.dev/meson/articles/visionos-tabview 組み立てて作るというよりは,Appleが推奨する構成の選択肢から「選ぶ」