Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Apple公式ガイドを さっくりと読んでまとめてみた UIScrollView編

Apple公式ガイドを さっくりと読んでまとめてみた UIScrollView編

UIScrollViewとAutolayoutを併用するときのわかりにくかったところのまとめ

9f7012b2d49a8a7fd07c3b8a2fffcbd9?s=128

Atsushi Uchida (utwang)

October 08, 2015
Tweet

Transcript

  1. ͍·͞ΒAppleެࣜΨΠυΛ ͬ͘͞ΓͱಡΜͰ·ͱΊͯΈͨ ʙ iOS ScrollViewϓϩάϥϛϯάΨΠυฤ ʙ 2015/10/08

  2. ͜ͷΨΠυͷओͳ಺༰ • ScrollViewͷ࡞੒ͱઃఆ • εΫϩʔϧͷΠϕϯτͱ੍ޚ(delegateϝοηʔδ) • ϐϯνδΣενϟΛ࢖ͬͨζʔϜ • λοϓͰͷζʔϜ •

    ϖʔδϯάϞʔυʹ͍ͭͯ
  3. ͜ͷࢿྉͷ಺༰ • εΫϩʔϧͷઃఆ • ϐϯνΠϯɺϐϯνΞ΢τͷઃఆ • ϋϚͬͨͱ͜Ζ(AutoLayout)

  4. جຊػೳͱߏ੒ • ػೳ • ը໘ʹೖΓ͖Βͳ͍ίϯςϯ πͷεΫϩʔϧ • ίϯςϯπͷ֦େ/ॖখ • Viewͷߏ੒

    UIScrollView ᵋ ίϯςϯπͱͳΔsubview ɹɹɹ(͜͜Ͱ͸UIImageView)
  5. εΫϩʔϧ • Scroll͢ΔͨΊʹߦ͏ઃఆ • contentSizeϓϩύςΟΛࢦఆ • subviewʹίϯςϯπͱͳΔ ViewΛ௥Ճ ੨࿮ɿwindowαΠζ, scrollView.bounds

    ੺࿮ɿscrollView.contentSize ബ྘ɿsubView.bounds
  6. ϐϯνΠϯ/ϐϯνΞ΢τ • ϐϯνΠϯ/ϐϯνΞ΢τ͢ΔͨΊʹߦ͏ ઃఆ • ViewControllerΛUIScrollViewDelegate ʹద߹ • viewForZoomingInScrollViewͰζʔ Ϝ͍ͨ͠viewΛฦ͢

    • ζʔϜͷഒ཰Λࢦఆ • minimumZoomScale • maximumZoomScale ੨࿮ɿscrollView.bounds,scrollView.contentSize ബ྘ɿsubView.bounds
  7. UIScrollViewͰϋϚͬͨͱ͜Ζ • AutoLayoutͱUIScrollViewͷҰॹʹ࢖͏ͱ͖ • εΫϩʔϧ͠ͳ͔ͬͨΓɺίϯςϯπ͕දࣔ͞Εͳ͔ͬ ͨΓઃఆʹ͔͔࣌ؒͬͨ • ໰୊͕ղফͰ͖ͨͱ͖ʹԿ͕໰୊ͩͬͨͷ͔Α͘Θ͔ Βͳ͔ͬͨ

  8. εΫϩʔϧྖҬͷܾΊํ ίʔυͷ৔߹ • scrollViewͷϓϩύςΟ ͷcontentSizeΛࢦఆ͢Δ ʢϚϧνσόΠεʹରԠ ͢Δͱ͖൥ࡶʣ DPOUFOU4J[F TDSPMM7JFX 

     "' (&"    &%!" #$
  9. εΫϩʔϧྖҬͷܾΊํ Autolayoutͷ৔߹ • contentSizeͷେ͖͞͸ Autolayout͕ࣗಈͰࢉग़ • subviewͷ෯/ߴ͞ɺ੍໿ Ͱܾఆ͞ΕΔ ͕͜͜஫ҙ఺ʂ subviewͷ෯ͱߴ͕͞׬શʹܾ

    ·ΔΑ͏ʹ੍໿Λࢦఆ͢Δඞཁ͋Γʂ 6*7JFX 4DSPMM7JFXͷTVCWJFX TDSPMM7JFX ϥϕϧͳͲͷ7JFX  
  10. Θ͔Γʹ͍͘ཧ༝ • AutolayoutͰ͸1ͭͷ viewͷҐஔɺେ͖͞Λผ ͷviewͱͷ૬ରͰܾΊΔ • ීஈ͸্ҐͷView(਌)͔ Β੍໿ΛܾΊ͍ͯ͘Ξϓ ϩʔν͢Δ͜ͱ͕ଟ͍ʢ͸ ͣʣ

    6*7JFX ϥϕϧͳͲͷ7JFX  
  11. Θ͔Γʹ͍͘ཧ༝ • UIScrollViewΛ AutolayoutͰར༻͢Δ৔ ߹ɺԼҐͷViewͷ੍໿Λ ઃఆͯ͠ɺεΫϩʔϧྖ ҬͱͳΔViewͷେ͖͞Λ ܾΊΔΞϓϩʔνͱͳΔ • ٯ޲͖ͷΞϓϩʔνͳͷ

    ͰΘ͔Γʹ͍͘ 6*7JFX ϥϕϧͳͲͷ7JFX