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
330
Swift愛好会 の 思い出
satotakeshi
0
97
Xcode 15, Swift 5.9で変わる開発体験
satotakeshi
3
3k
Meet passkeys
satotakeshi
2
370
What's new in Vision
satotakeshi
0
1.8k
Swift Concurrency入門
satotakeshi
11
5.3k
複数端末のつらさを乗り越えてiOS UITestを実行
satotakeshi
1
420
Xcodegenを個人アプリに導入
satotakeshi
3
810
SwiftUIで作る開閉式メニュー
satotakeshi
2
3.1k
Other Decks in Programming
See All in Programming
More Approvers for Greater OSS and Japan Community
tkikuc
1
110
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
0
230
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
1
320
Honoアップデート 2025年夏
yusukebe
1
900
AIエージェント開発、DevOps and LLMOps
ymd65536
1
370
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
190
奥深くて厄介な「改行」と仲良くなる20分
oguemon
1
260
「手軽で便利」に潜む罠。 Popover API を WCAG 2.2の視点で安全に使うには
taitotnk
0
280
為你自己學 Python - 冷知識篇
eddie
1
330
HTMLの品質ってなんだっけ? “HTMLクライテリア”の設計と実践
unachang113
2
900
TanStack DB ~状態管理の新しい考え方~
bmthd
2
410
【第4回】関東Kaggler会「Kaggleは執筆に役立つ」
mipypf
0
1k
Featured
See All Featured
Six Lessons from altMBA
skipperchong
28
4k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
830
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
111
20k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Music & Morning Musume
bryan
46
6.8k
Agile that works and the tools we love
rasmusluckow
330
21k
Site-Speed That Sticks
csswizardry
10
800
jQuery: Nuts, Bolts and Bling
dougneiner
64
7.9k
Practical Orchestrator
shlominoach
190
11k
The World Runs on Bad Software
bkeepers
PRO
70
11k
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