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
Effective UIScrollView
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Jiro Nagashima
March 12, 2015
Technology
3.7k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Effective UIScrollView
Jiro Nagashima
March 12, 2015
More Decks by Jiro Nagashima
See All by Jiro Nagashima
グロースを加速するLooker活用 / Leveraging Looker to accelerate growth
hedjirog
3
3.1k
プロダクトの成長を支えるKPI / KPIs for growing your product
hedjirog
17
4k
UIViewPropertyAnimatorで実現するリッチなアニメーション表現
hedjirog
4
2.6k
ReactorKit at Wantedly
hedjirog
2
1.1k
ReactorKitを利用した緩やかなアーキテクチャの移行
hedjirog
3
1.5k
限られたリソースで進める段階的なSwit移行
hedjirog
2
5.5k
エンジニア・デザイナーで取り組むグロースハック
hedjirog
6
2.5k
iOS 10 時代のアニメーション / Introduction to UIViewPropertyAnimator
hedjirog
3
3.1k
How we use fastlane at Wantedly
hedjirog
9
11k
Other Decks in Technology
See All in Technology
DMMブックスのNext.js化を加速させるAI活用 / Migrating DMM Books to Next.js with AI
kentarom
1
290
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
240
bet_ai_day_2026_session02
agenticsec
1
670
Jetpack Compose で挑む新聞紙面UI ─ 複合ジェスチャー・ポリゴン記事領域・適応的ページ構成という3つの壁/droidkaigi2026
nikkei_engineer_recruiting
0
120
Kiro5兄弟のいまどきのセキュリティ基礎知識
kentapapa
0
490
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
77k
Genie Code ワークショップ 基礎編 / Genie-Code-Workshop-fundamental
databricksjapan
PRO
0
280
When Token Pruning is Worse than Random: Understanding Visual Token Information in VLLMs
sansantech
PRO
0
220
Sony-DroidKaigi2026
sony
0
240
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
360
人気商品が「ちゃんと買える」をつくる ー ECの負荷改善
ykagano
1
180
「ミスを許さない手順書」を作ってみた 〜 個人的にはこれ以上できることはあまりなさそう/20260827-ssmjp-operation-procedure-update
opelab
17
17k
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
300
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
230
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.7k
GitHub's CSS Performance
jonrohan
1033
470k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
440
The World Runs on Bad Software
bkeepers
PRO
72
12k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Everyday Curiosity
cassininazir
0
300
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
310
Automating Front-end Workflow
addyosmani
1369
210k
Designing Experiences People Love
moore
143
24k
Chasing Engaging Ingredients in Design
codingconduct
0
290
Transcript
&GGFDUJWF 6*4DSPMM7JFX !IFEKJSPH
ͳ͕͠·͡Ζ͏ !IFEKJSPH 4BOTBOגࣜձࣾ&JHIU
5JQT δΣενϟʔΛϏϡʔʹৡͯ͠ 6*4DSPMM7JFXͷഎޙɾલ໘ͰλοϓՄೳʹʂ
6*7JFX 6*#VUUPO 6*7JFX ᵓᴷ6*#VUUPO ᵓᴷ6*4DSPMM7JFX ᵓᴷ6*#VUUPO 6*#VUUPO 6*4DSPMM7JFX
7JFXߏ
6*7JFX 6*7JFX ᵓᴷ ᵓᴷ ᵓᴷ
6*7JFX 6*#VUUPO 6*7JFX ᵓᴷ6*#VUUPO ᵓᴷ ᵓᴷ
6*7JFX 6*#VUUPO 6*7JFX ᵓᴷ6*#VUUPO ᵓᴷ6*4DSPMM7JFX ᵓᴷ 6*4DSPMM7JFX
6*7JFX 6*#VUUPO 6*7JFX ᵓᴷ6*#VUUPO ᵓᴷ6*4DSPMM7JFX ᵓᴷ6*#VUUPO 6*#VUUPO 6*4DSPMM7JFX
՝
6*7JFX 6*#VUUPO 6*7JFX ᵓᴷ6*#VUUPO ᵓᴷ6*4DSPMM7JFX ᵓᴷ6*#VUUPO 6*#VUUPO 6*4DSPMM7JFX λοϓͰ͖ͳ͍ʂ
scrollView.userInteractionEnabled = false view.addGestureRecognizer(scrollView.panGestureRecognizer) ରॲ๏
scrollView.userInteractionEnabled = false view.addGestureRecognizer(scrollView.panGestureRecognizer) ରॲ๏ w 6*4DSPMM7JFXͷແޮԽ w QBO(FTUVSF3FDPHOJ[FSΛ 6*7JFXʹՃ
6*7JFX 6*#VUUPO 6*7JFX ᵓᴷ6*#VUUPO ᵓᴷ6*4DSPMM7JFXʢແޮԽʣ ᵓᴷ6*#VUUPO 6*#VUUPO 6*4DSPMM7JFXʢແޮԽʣ λοϓՄೳ
՝
6*7JFX 6*#VUUPO 6*7JFX ᵓᴷ6*#VUUPO ᵓᴷ6*4DSPMM7JFXʢແޮԽʣ ᵓᴷ6*#VUUPOʢແޮԽʣ 6*#VUUPOʢແޮԽʣ 6*4DSPMM7JFXʢແޮԽʣ λοϓͰ͖ͳ͍ʂ
override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? {
let hitView = super.hitTest(point, withEvent: event) if hitView == self { return nil } return self } ରॲ๏
override func hitTest(point: CGPoint, withEvent event: UIEvent?) -> UIView? {
let hitView = super.hitTest(point, withEvent: event) if hitView == self { return nil } return self } ରॲ๏ w )JU5FTUͰ6*4DSPMM7JFXͷ λοϓఆΛແࢹͤ͞Δ
scrollView.userInteractionEnabled = false view.addGestureRecognizer(scrollView.panGestureRecognizer) ରॲ๏ w 6*4DSPMM7JFX༗ޮԽ
6*7JFX 6*#VUUPO 6*7JFX ᵓᴷ6*#VUUPO ᵓᴷ6*4DSPMM7JFXʢλοϓఆແࢹʣ ᵓᴷ6*#VUUPO 6*#VUUPO 6*4DSPMM7JFXʢλοϓఆແࢹʣ λοϓՄೳ
·ͱΊ
·ͱΊ δΣενϟʔΛϏϡʔʹৡͯ͠ 6*4DSPMM7JFXͷഎޙɾલ໘ͰλοϓՄೳʹʂ w BEE(FTUVSF3FDPHOJ[FSϝιουΛར༻ w )JU5FTUΛௐ