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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
nakajijapan
October 10, 2016
Technology
1k
1
Share
インタラクションデザインと実装
shibuya.swift #5
http://shibuya-swift.connpass.com/event/39841/
nakajijapan
October 10, 2016
More Decks by nakajijapan
See All by nakajijapan
サービスにおけるDesign Systemの構築
nakajijapan
11
4k
Markdownをリアルタイムに解析する
nakajijapan
5
4.5k
Firebase Authorization
nakajijapan
0
320
Intoducing Izumo
nakajijapan
1
2k
Practical CloudKit
nakajijapan
1
1.9k
Introducing to Ajimi - プロダクトを味見していこう
nakajijapan
0
2.3k
Shari
nakajijapan
1
2.9k
Japan Apple Pay Development
nakajijapan
0
310
業務で絶対必要にならない技術
nakajijapan
0
880
Other Decks in Technology
See All in Technology
来期の評価で変えようと思っていること 〜AI時代に変わること・変わらないこと〜
estie
0
130
OpenClawでPM業務を自動化
knishioka
2
360
Even G2 クイックスタートガイド(日本語版)
vrshinobi1
0
190
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
kaomi_wombat
0
290
LLMに何を任せ、何を任せないか
cap120
11
6.9k
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
qa
0
670
AI時代のIssue駆動開発のススメ
moongift
PRO
0
330
GitHub Advanced Security × Defender for Cloudで開発とSecOpsのサイロを超える: コードとクラウドをつなぐ、開発プラットフォームのセキュリティ
yuriemori
1
120
I ran an automated simulation of fake news spread using OpenClaw.
zzzzico
0
120
Babylon.js Japan Activities (2026/4)
limes2018
0
130
Databricks Appsで実現する社内向けAIアプリ開発の効率化
r_miura
0
230
【Oracle Cloud ウェビナー】データ主権はクラウドで守れるのか?NTTデータ様のOracle Alloyで実現するソブリン対応クラウドの最適解
oracle4engineer
PRO
3
130
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
140
ラッコキーワード サービス紹介資料
rakko
1
2.8M
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.1k
How to Ace a Technical Interview
jacobian
281
24k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Believing is Seeing
oripsolob
1
100
Optimising Largest Contentful Paint
csswizardry
37
3.6k
[SF Ruby Conf 2025] Rails X
palkan
2
880
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
110
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
240
The Curse of the Amulet
leimatthew05
1
11k
Transcript
TIJCVZBTXJGU !OBLBKJKBQBO ΠϯλϥΫγϣϯ σβΠϯͱ࣮
huin ͞Μ גࣜձࣾFablic͞Μ ʹײँʂ
@nakajijapan GMO PEPABO inc. Principal Engineer iOS / Web /
OS X About Me Daichi Nakajima
ϋϯυϝΠυ࡞Λ ചΕΔɺങ͑Δɻ ࠃ࠷େڃͷ ϋϯυϝΠυϚʔέοτ
NKJMultiMovieCaptureView NKJMovieComposer NKJPagerViewController PhotoSlider Teiten GitHub Sengiri Shari frustration.me Kazaguruma
None
Apple Pay JP launch partner
None
None
ΠϯλϥΫγϣϯ ͱ࣮
ΠϯλϥΫγϣϯ σβΠϯͱ
ΠϯλϥΫγϣϯ
ΠϯλϥΫγϣϯ ૬ޓ࡞༻ wikipedia
None
None
Interface
Interface
ΠϯλϥΫγϣϯ ͓ޓ͍͕ ίϛϡχέʔγϣϯ͢Δ͜ͱ wikipedia
ΠϯλϥΫγϣϯσβΠϯ ͓ޓ͍͕ ίϛϡχέʔγϣϯ͢Δ͜ͱ wikipedia खॿ͚
Ԡ༻ඒज़ ʙΠϯλϥΫγϣϯσβΠϯͷڭՊॻʙ
Ԡ༻ඒज़ͱ ඒज़Λ༻ߦࣄͳͲ Ԡ༻͢Δ͜ͱ
None
ඒज़
ඒज़ͱ ࢹ֮ʹΑͬͯͱΒ͑Δ͜ ͱΛతͱͯ͠දݱ͞Ε ͨܗܳज़ͷ૯শ wikipedia
None
wදݱऀ͕͍͑ͨ͜ͱΛؑऀʹ͑Δ wܗΛΒΕͨͷ wֆըɺூࠁɺݐஙɺܳ ඒज़ͱ
Ԡ༻ඒज़ͱ ඒज़Λ༻ߦࣄͳͲ Ԡ༻͢Δ͜ͱ wikipedia
None
Ԡ༻ඒज़ͱ ؾ࣋ͪΑͬͯ͘Β͏ͨ Ίʹศརʹ͢Δ͜ͱ wikipedia
࣮༻తͰ͋Δ͜ͱ
None
ਓ
•ඪΛཱͯΔ •࣮ߦ͢Δ •ධՁ͢Δ ਓؒͷߦಈαΠΫϧ
ҙਤ ܗ ߦಈ ܾఆ ࣮ߦ ֮ ղऍ ධՁ ϊʔϚϯ ͷࣣஈ֊
Ϟσϧ
ҙਤ ܗ ߦಈ ܾఆ ࣮ߦ ֮ ղऍ ධՁ ϊʔϚϯ ͷࣣஈ֊
Ϟσϧ ΑΓখ͍ͯ͘͞͠ ͘͜ͱ͕͍͢ ͞ͷۙಓ
☺
վળ
Case Study
Sign up
Feedback
•ϩάΠϯใͷೖྗΛ͠ͳ͚Ε͍͚ͳ͍ •߲ʹ༷ʑͳ੍ݶ͕͋Δ •શͯਖ਼͍͠ใʹͳΒͳ͍ͱSign upͰ͖ͳ ͍ Sign up
None
None
•ೖྗେมɺ࠷େݶܰݮͤ͞Δ •ϦΞϧλΠϜʹదͳใΛೖྗͤ͞Δ Α͏༠ಋ͠ɺ࣌ؒॖ •ϧʔϧΛ໌֬ʹͯ͠ঢ়ଶΛ֮ͤ͞Δ Sign up
Sign up
Sign up let selector = #selector(self.existsMinneID(_:)) NSObject.cancelPreviousPerformRequestsWithTarget(self, selector: selector, object:
cell) • UITextFieldDelegate#textFieldDidChange • Connection
Cart
Keep a context
• ࡏݿΛมߋͰ͖Δ Cart
None
•ίϯςΩετΛҡ࣋͢Δ •ͳΜͷ࡞ΛબΜͩͷ͔ •͙͢ʹࢦఆͷࡏݿʹมߋͰ͖Δ •ෆՄࢹτϦΨʔ •શମΛ֬ೝͰ͖ΔΑ͏ʹͰ͖Δ Cart
Implementation
Implementation • Container View Controller • presentViewControllerΛಠ࣮ࣗ͢Δ • No UIViewControllerTransitioningDelegate!
• ΞχϝʔγϣϯͷதؒͰը໘ΛࢭΊ ͔ͨͬͨͷͰར༻͍ͯ͠ͳ͍
Implementation • Shari • https://github.com/nakajijapan/Shari
Scroll View
Prevent mistakes
• Scroll ViewʹΧςΰϦͷҰཡ͕ଘࡏ • Կճ͔εϫΠϓ͠ͳ͚Ε͍͚ͳ͍߹͕ ͋Δ • ը໘ྖҬʹݶք͕͋Δ • ؆୯ʹྖҬΛ͛ΔΘ͚ʹ͍͔ͳ͍
Scroll View
None
Implementation • εϫΠϓޙ̍ඵεϫΠϓྖҬ͕͛Δ • ̍ඵҎʹεϫΠϓ͕͋ΕΩϟϯηϧ • ͳ͚ΕεϫΠϓྖҬ͕Δ scroll view scroll
view 4XJQF scroll view scroll view
Implementation
Implementation let selector = #selector(self.unlockUserInteractionWithScrollView(_:)) NSObject.cancelPreviousPerformRequestsWithTarget(self, selector: selector, object: scrollView)
NSTimer.scheduledTimerWithTimeInterval(0.1, target: self, selector: selector, userInfo: nil, repeats: false) • Lazy Execution and Cancel
·ͱΊ
ΠϯλϥΫγϣϯσβΠϯ ͓ޓ͍͕ ίϛϡχέʔγϣϯ͢Δ͜ͱ wikipedia खॿ͚
ΠϯλϥΫγϣϯσβΠϯ ࣮༻తͰ͋Δ͜ͱ
•ඪΛཱͯΔ •࣮ߦ͢Δ •ධՁ͢Δ ਓؒͷߦಈαΠΫϧ
• ঢ়گΛ͑ͯϑΟʔυόοΫΛఏڙ͢Δ • ίϯςΩετΛҡ࣋͢Δ • ϛεΛࣄલʹ͙ ·ͱΊ
Thanks.