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
もう迷わない!モーダルとプッシュどっちがいいの?
Search
Sato Takeshi
February 14, 2018
Programming
6
2.6k
もう迷わない!モーダルとプッシュどっちがいいの?
第2回 iOS UI実装勉強会で発表した内容です。
https://connpass.com/event/78347/
Sato Takeshi
February 14, 2018
Tweet
Share
More Decks by Sato Takeshi
See All by Sato Takeshi
まさかのバグ!SwiftUIプレビューでハマった国際化対応の落とし穴
satotakeshi
0
370
Swift愛好会 の 思い出
satotakeshi
0
110
Xcode 15, Swift 5.9で変わる開発体験
satotakeshi
3
3k
Meet passkeys
satotakeshi
2
390
What's new in Vision
satotakeshi
0
2.1k
Swift Concurrency入門
satotakeshi
11
5.4k
複数端末のつらさを乗り越えてiOS UITestを実行
satotakeshi
1
440
Xcodegenを個人アプリに導入
satotakeshi
3
860
SwiftUIで作る開閉式メニュー
satotakeshi
2
3.1k
Other Decks in Programming
See All in Programming
Cap'n Webについて
yusukebe
0
160
フルサイクルエンジニアリングをAI Agentで全自動化したい 〜構想と現在地〜
kamina_zzz
0
340
GISエンジニアから見たLINKSデータ
nokonoko1203
0
190
クラウドに依存しないS3を使った開発術
simesaba80
0
210
愛される翻訳の秘訣
kishikawakatsumi
3
370
Patterns of Patterns
denyspoltorak
0
410
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
150
ゆくKotlin くるRust
exoego
1
180
マスタデータ問題、マイクロサービスでどう解くか
kts
0
170
AIエージェントの設計で注意するべきポイント6選
har1101
6
2.9k
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
5
1.5k
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
4.1k
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
2
190
WCS-LA-2024
lcolladotor
0
400
Highjacked: Video Game Concept Design
rkendrick25
PRO
0
260
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Building the Perfect Custom Keyboard
takai
2
670
A better future with KSS
kneath
240
18k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
75
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Designing Experiences People Love
moore
143
24k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
280
Claude Code のすすめ
schroneko
67
210k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.1k
Transcript
͏໎Θͳ͍ʂ ϞʔμϧͱϓογϡͲͬ ͕͍͍ͪͷʁ ୈ2ճ iOS UI࣮ษڧձ 20182݄14 ࠤ౻߶࢜ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 1
Who am I ࠤ౻߶࢜ (@hatakenokakashi) MAMORIOגࣜձࣾͰiOSΤϯδχΞ͠ ͍ͯ·͢ɻ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 2
ࣗͰΞϓϦΛ࡞ͬͨ͜ͱ͋Δਓ? ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 3
! ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 4
σβΠϯࣗͰ࡞ΔͷେมͰ͢Ͷ ! ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 5
ը໘σβΠϯେࣄ͚ͩͲը໘ભҠͷ ઃܭେࣄͳUIͷ̍ͭʂ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 6
ࠓը໘ભҠͷΛ͍ͤͯͩ͘͞͞ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 7
෩ਫͷ͍ΞϓϦΛ࡞͍ͬͯͨɻ Ϣʔβʔʹૢ࡞Λ͍ͤͨ͞ը໘Tab barͷҰ෦Ͱྑ͍ͷ͔ʁ modalͰશը໘දࣔʹ͢Δ͖͔ʁ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 8
Tab bar͏ͱը໘ྖҬ͕ڱ͘ͳΔ͚Ͳ͍͍ͷʁ શ෦ͬͨ΄͏͕ྑ͘ͳ͍ʁ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 9
!!!!!!!! ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 10
Tab barͬͯΔଞͷΞ ϓϦΛݟͯΈΔ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 11
͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 12
͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 13
͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 14
! Ұཡը໘Tab barͰΈࠐΈɻৄࡉը໘ϓογϡભҠɻ ߘܥϞʔμϧભҠͰશը໘දࣔɻ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 15
Human Interface Guidelines iOS • Modality • Navigation ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 16
Modality Ϟʔμϧͷ༻࠷খݶʹɻҰൠతʹਓʑΞϓϦΛγʔϜϨ εʹ͏͜ͱΛΈ·͢ɻϞʔμϧΛ͏໘Α͘Α͘ߟ͑ ·͠ΐ͏ɻ୭͔ͷҙΛҾ͖ग़͢ॏཁͳࣄ͕͋Δ߹ɺ͋Δ λεΫ͕ऴΘΔ͔ഁغ͞Εͳ͍ͱΞϓϦ͕͏͜ͱ͕Ͱ͖ͳ͍ ঢ়ଶɺ·ͨॏཁͳσʔλΛอଘ͢Δ߹ͳͲ͕·͍͠Ͱ ͢ɻ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 17
Modality ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 18
Navigation ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 19
Hierarchical Navigation ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 20
Flat Navigation ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 21
Content-Driven or Experience- Driven Navigation ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 22
ݴ͍ํΛม͑Δͱ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 23
ͦͷը໘ΛϢʔβʔ͕ • ʮݟΔʯ͕ओମͷը໘ͳΒφϏήʔγϣϯʹΈࠐΉɻ • ϓογϡભҠ • ʮ͢Δʯ͕ओମͷը໘ͳΒશ໘දࣔ͢Δɻ • ϞʔμϧભҠ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ
24
͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 25
͏ҰଞͷΞϓϦΛ֬ ೝ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 26
Twitter ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 27
Evernote ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 28
ࣗͷΞϓϦͰ Ϣʔβʔʹը໘ૢ࡞ͯ͠ཉ͍͠ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 29
͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 30
class TopTabBarController: UITabBarController, UITabBarControllerDelegate { func tabBarController(_ tabBarController: UITabBarController, didSelect
viewController: UIViewController) { let tagNum = viewController.tabBarItem.tag switch tagNum { case 2: let second = FlyingStarViewController.instanceate() self.present(second, animated: true, completion: nil) default: break } } } ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 31
·ͱΊ • ʮݟΔʯ͕ओମͷը໘ͳΒφϏήʔγϣϯʹΈࠐΉɻ • ϓογϡભҠ • ʮ͢Δʯ͕ओମͷը໘ͳΒશ໘දࣔ͢Δɻ • ϞʔμϧભҠ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ
32
એ ͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 33