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
1
430
SwiftUIで作るvisionOS向けTabViewUIの知見
https://connpass.com/event/291022/
こちらで発表した内容です!
さくたま
July 26, 2023
Tweet
Share
More Decks by さくたま
See All by さくたま
Unity Android XR入門
sakutama_11
0
260
AR×ドラムで切り拓く音楽表現【XRKaigi 2024】
sakutama_11
0
60
「ARドラム」の裏側 【Iwaken Lab. Tech Conference】
sakutama_11
1
2.3k
8th Wall × Babylon.jsでhavok physics 【Babylon.js ゆるほめLT会 vol.2】
sakutama_11
0
790
【NeRF撮り方LT会】NeRFが空間を理解する仕組み
sakutama_11
1
1.6k
Other Decks in Programming
See All in Programming
What's new in Adaptive Android development
fornewid
0
140
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
1k
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
700
『リコリス・リコイル』に学ぶ!! 〜キャリア戦略における計画的偶発性理論と変わる勇気の重要性〜
wanko_it
1
340
可変性を制する設計: 構造と振る舞いから考える概念モデリングとその実装
a_suenami
10
1.7k
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
0
520
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
960
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
450
Understanding Kotlin Multiplatform
l2hyunwoo
0
250
ワープロって実は計算機で
pepepper
2
1.2k
decksh - a little language for decks
ajstarks
4
21k
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
16
9.6k
Featured
See All Featured
Side Projects
sachag
455
43k
GitHub's CSS Performance
jonrohan
1031
460k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Building Adaptive Systems
keathley
43
2.7k
Automating Front-end Workflow
addyosmani
1370
200k
Why Our Code Smells
bkeepers
PRO
337
57k
Visualization
eitanlees
146
16k
Designing Experiences People Love
moore
142
24k
Documentation Writing (for coders)
carmenintech
73
5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Producing Creativity
orderedlist
PRO
347
40k
A better future with KSS
kneath
239
17k
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が推奨する構成の選択肢から「選ぶ」