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
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.4k
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
モダンフロントエンド 開発研修
recruitengineers
PRO
4
630
Bits Agent Builder の⼊⾨と活⽤事例
nulabinc
PRO
0
140
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
280
AWS ネットワーク構築でハマった(ハマりかけた) 5選とそこから得た教訓
nagisa53
4
210
Sets in Go
ramalho
1
620
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
4k
ラジオの科学
frievea
0
310
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
130
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
24k
事業価値と Engineering 2026年度版
recruitengineers
PRO
49
23k
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」紹介資料
laysakura
2
9k
20分でわかるセキュアAPI
nwiizo
2
270
Featured
See All Featured
Six Lessons from altMBA
skipperchong
29
4.4k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
490
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
480
Google's AI Overviews - The New Search
badams
0
1.1k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
430
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
Docker and Python
trallard
47
4.1k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
990
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
380
A designer walks into a library…
pauljervisheath
211
24k
The agentic SEO stack - context over prompts
schlessera
0
860
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Λௐ