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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Jiro Nagashima
March 12, 2015
Technology
0
3.6k
Effective UIScrollView
Jiro Nagashima
March 12, 2015
Tweet
Share
More Decks by Jiro Nagashima
See All by Jiro Nagashima
グロースを加速するLooker活用 / Leveraging Looker to accelerate growth
hedjirog
3
3k
プロダクトの成長を支えるKPI / KPIs for growing your product
hedjirog
17
3.9k
UIViewPropertyAnimatorで実現するリッチなアニメーション表現
hedjirog
4
2.5k
ReactorKit at Wantedly
hedjirog
2
1k
ReactorKitを利用した緩やかなアーキテクチャの移行
hedjirog
3
1.5k
限られたリソースで進める段階的なSwit移行
hedjirog
2
5.4k
エンジニア・デザイナーで取り組むグロースハック
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
ヘルシーSRE
tk3fftk
1
130
クラウド時代における一時権限取得
krrrr38
1
120
インシデント対応入門
grimoh
7
5.3k
Digitization部 紹介資料
sansan33
PRO
1
6.9k
AIエージェントで変わる開発プロセス ― レビューボトルネックからの脱却
lycorptech_jp
PRO
2
760
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
180
三菱UFJ銀行におけるエンタープライズAI駆動開発のリアル / Enterprise AI_Driven Development at MUFG Bank: The Real Story
muit
10
19k
サンタコンペ2025完全攻略 ~お前らの焼きなましは遅すぎる~
terryu16
1
520
Lookerの最新バージョンv26.2がやばい話
waiwai2111
1
130
20260222ねこIoTLT ねこIoTLTをふりかえる
poropinai1966
0
280
ローカルでLLMを使ってみよう
kosmosebi
0
200
NW構成図の自動描画は何が難しいのか?/netdevnight3
corestate55
2
490
Featured
See All Featured
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
100
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
ラッコキーワード サービス紹介資料
rakko
1
2.5M
Documentation Writing (for coders)
carmenintech
77
5.3k
Designing for Performance
lara
611
70k
It's Worth the Effort
3n
188
29k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
190
Prompt Engineering for Job Search
mfonobong
0
180
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Balancing Empowerment & Direction
lara
5
920
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Λௐ