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
Apple公式ガイドを さっくりと読んでまとめてみた UIScrollView編
Search
Atsushi Uchida (utwang)
October 08, 2015
Programming
0
230
Apple公式ガイドを さっくりと読んでまとめてみた UIScrollView編
UIScrollViewとAutolayoutを併用するときのわかりにくかったところのまとめ
Atsushi Uchida (utwang)
October 08, 2015
Tweet
Share
More Decks by Atsushi Uchida (utwang)
See All by Atsushi Uchida (utwang)
Measurement And Unitを試した話
utwang
0
580
Apple公式ガイドさっくりまとめ ファイルシステム編
utwang
0
42
頻出pryコマンド
utwang
0
130
設計ポイントの 比較で知る Backbone.js
utwang
9
7k
Other Decks in Programming
See All in Programming
猫と暮らすネットワークカメラ生活🐈 ~Vision frameworkでペットを愛でよう~ / iOSDC Japan 2025
yutailang0119
0
220
CSC509 Lecture 02
javiergs
PRO
0
400
Catch Up: Go Style Guide Update
andpad
0
110
非同期jobをtransaction内で 呼ぶなよ!絶対に呼ぶなよ!
alstrocrack
0
490
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
120
Let's Write a Train Tracking Algorithm
twocentstudios
0
220
そのpreloadは必要?見過ごされたpreloadが技術的負債として爆発した日
mugitti9
2
2.9k
開発生産性を上げるための生成AI活用術
starfish719
1
150
株式会社 Sun terras カンパニーデック
sunterras
0
200
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
1
750
アメ車でサンノゼを走ってきたよ!
s_shimotori
0
130
iOSDC.pdf
chronos2500
2
650
Featured
See All Featured
Music & Morning Musume
bryan
46
6.8k
Code Review Best Practice
trishagee
72
19k
Scaling GitHub
holman
463
140k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Context Engineering - Making Every Token Count
addyosmani
4
170
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Visualization
eitanlees
148
16k
The Pragmatic Product Professional
lauravandoore
36
6.9k
Transcript
͍·͞ΒAppleެࣜΨΠυΛ ͬ͘͞ΓͱಡΜͰ·ͱΊͯΈͨ ʙ iOS ScrollViewϓϩάϥϛϯάΨΠυฤ ʙ 2015/10/08
͜ͷΨΠυͷओͳ༰ • ScrollViewͷ࡞ͱઃఆ • εΫϩʔϧͷΠϕϯτͱ੍ޚ(delegateϝοηʔδ) • ϐϯνδΣενϟΛͬͨζʔϜ • λοϓͰͷζʔϜ •
ϖʔδϯάϞʔυʹ͍ͭͯ
͜ͷࢿྉͷ༰ • εΫϩʔϧͷઃఆ • ϐϯνΠϯɺϐϯνΞτͷઃఆ • ϋϚͬͨͱ͜Ζ(AutoLayout)
جຊػೳͱߏ • ػೳ • ը໘ʹೖΓ͖Βͳ͍ίϯςϯ πͷεΫϩʔϧ • ίϯςϯπͷ֦େ/ॖখ • Viewͷߏ
UIScrollView ᵋ ίϯςϯπͱͳΔsubview ɹɹɹ(͜͜ͰUIImageView)
εΫϩʔϧ • Scroll͢ΔͨΊʹߦ͏ઃఆ • contentSizeϓϩύςΟΛࢦఆ • subviewʹίϯςϯπͱͳΔ ViewΛՃ ੨ɿwindowαΠζ, scrollView.bounds
ɿscrollView.contentSize ബɿsubView.bounds
ϐϯνΠϯ/ϐϯνΞτ • ϐϯνΠϯ/ϐϯνΞτ͢ΔͨΊʹߦ͏ ઃఆ • ViewControllerΛUIScrollViewDelegate ʹద߹ • viewForZoomingInScrollViewͰζʔ Ϝ͍ͨ͠viewΛฦ͢
• ζʔϜͷഒΛࢦఆ • minimumZoomScale • maximumZoomScale ੨ɿscrollView.bounds,scrollView.contentSize ബɿsubView.bounds
UIScrollViewͰϋϚͬͨͱ͜Ζ • AutoLayoutͱUIScrollViewͷҰॹʹ͏ͱ͖ • εΫϩʔϧ͠ͳ͔ͬͨΓɺίϯςϯπ͕දࣔ͞Εͳ͔ͬ ͨΓઃఆʹ͔͔࣌ؒͬͨ • ͕ղফͰ͖ͨͱ͖ʹԿ͕ͩͬͨͷ͔Α͘Θ͔ Βͳ͔ͬͨ
εΫϩʔϧྖҬͷܾΊํ ίʔυͷ߹ • scrollViewͷϓϩύςΟ ͷcontentSizeΛࢦఆ͢Δ ʢϚϧνσόΠεʹରԠ ͢Δͱ͖ࡶʣ DPOUFOU4J[F TDSPMM7JFX
"' (&" &%!" #$
εΫϩʔϧྖҬͷܾΊํ Autolayoutͷ߹ • contentSizeͷେ͖͞ Autolayout͕ࣗಈͰࢉग़ • subviewͷ෯/ߴ͞ɺ੍ Ͱܾఆ͞ΕΔ ͕͜͜ҙʂ subviewͷ෯ͱߴ͕͞શʹܾ
·ΔΑ͏ʹ੍Λࢦఆ͢Δඞཁ͋Γʂ 6*7JFX 4DSPMM7JFXͷTVCWJFX TDSPMM7JFX ϥϕϧͳͲͷ7JFX
Θ͔Γʹ͍͘ཧ༝ • AutolayoutͰ1ͭͷ viewͷҐஔɺେ͖͞Λผ ͷviewͱͷ૬ରͰܾΊΔ • ීஈ্ҐͷView()͔ Β੍ΛܾΊ͍ͯ͘Ξϓ ϩʔν͢Δ͜ͱ͕ଟ͍ʢ ͣʣ
6*7JFX ϥϕϧͳͲͷ7JFX
Θ͔Γʹ͍͘ཧ༝ • UIScrollViewΛ AutolayoutͰར༻͢Δ ߹ɺԼҐͷViewͷ੍Λ ઃఆͯ͠ɺεΫϩʔϧྖ ҬͱͳΔViewͷେ͖͞Λ ܾΊΔΞϓϩʔνͱͳΔ • ٯ͖ͷΞϓϩʔνͳͷ
ͰΘ͔Γʹ͍͘ 6*7JFX ϥϕϧͳͲͷ7JFX