Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Effective UIScrollView
Search
Jiro Nagashima
March 12, 2015
Technology
3.8k
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.2k
プロダクトの成長を支える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.6k
限られたリソースで進める段階的な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
12k
Other Decks in Technology
See All in Technology
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
210
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
1
110
なぜAI時代に技術記事を書くのか?どう書くのか? 〜bunの場合〜
kworkdev
PRO
0
4.4k
Content Mapper APIの応用例~CSS Modules、言語ファイル~
uhyo
2
510
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
110
2拠点SRE活動始めてみた | sogaoh's LT @ ホンマでっかSRE勉強会 #3
sogaoh
PRO
0
230
Patterns in AI Driven Software Development
akosma
PRO
0
440
ALBのLCU予約とトラフィックの波によるプロダクト理解 / Understanding ALB LCU and Traffic Spikes
mito201
1
130
re:Inventで、人生は変わったのか? / growth-builders-hub-1-reinvent-2026
mhrtech
2
200
LLMの知識とAIエージェント
happysamurai294
0
150
Technical Project Manager の役割とやりがい、少しだけ AI
yoshiiryo1
0
570
クラウドエージェントの先駆け Devin。今も最先端を走る、他との違い
kinopeee
2
550
Featured
See All Featured
Navigating Weather and Climate Data
rabernat
0
580
WENDY [Excerpt]
tessaabrams
14
40k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
500
The Pragmatic Product Professional
lauravandoore
37
7.5k
Building an army of robots
kneath
307
47k
We Have a Design System, Now What?
morganepeng
55
8.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.3k
Designing Powerful Visuals for Engaging Learning
tmiket
1
630
Are puppies a ranking factor?
jonoalderson
2
4.1k
Odyssey Design
rkendrick25
PRO
2
910
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Λௐ