UIStackView demystified

UIStackView demystified

Nagoya iOS meetup Vol. 4

※ iOS14以降、スライド内にあるCATransformLayerはCALayerに変更され、通常のViewと同じように振る舞うようになりました。

6500a96a5f0786d7ff0c53429d691ae6?s=128

kazuhiro4949

August 20, 2018
Tweet

Transcript

  1. 6*4UBDL7JFXEFNZTUJpFE ,B[VIJSP)BZBTIJ /BHPZBJ04NFFUVQ7PM

  2. 6*4UBDL7JFXͱ͸ w 7JFXΛॎԣ΁੔ྻͤ͞ΔͨΊ ʹ࢖͏7JFXίϯϙʔωϯτ w ઃఆ஋ͰͲ͏੔ྻͤ͞Δ͔Λܾ ΊΔ w 6*4UBDL7JFXͷ֊૚Ͱෳࡶͳ ϨΠΞ΢τΛදݱͰ͖Δ

    IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
  3. 6*4UBDL7JFXͱ͸ IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJUVJTUBDLWJFX w 7JFXΛॎԣ΁੔ྻͤ͞ΔͨΊ ʹ࢖͏7JFXίϯϙʔωϯτ w ઃఆ஋ͰͲ͏੔ྻͤ͞Δ͔Λܾ ΊΔ w 6*4UBDL7JFXͷ֊૚Ͱෳࡶͳ

    ϨΠΞ΢τΛදݱͰ͖Δ
  4. 6*4UBDL7JFXͱ͸ w 7JFXΛॎԣ΁੔ྻͤ͞ΔͨΊ ʹ࢖͏7JFXίϯϙʔωϯτ w ઃఆ஋ͰͲ͏੔ྻͤ͞Δ͔Λܾ ΊΔ w 6*4UBDL7JFXͷ֊૚Ͱෳࡶͳ ϨΠΞ΢τΛදݱͰ͖Δ

    IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED
  5. 6*4UBDL7JFXͷಛ௃ w ઃఆͷมߋ΍7JFXͷ௥ՃͰಈతʹϨΠΞ΢τมߋ͕Ͱ͖Δ w ಺෦ͷWJFXʹରͯ͠JT)JEEFOUSVFʹ͢Δͱτϧπϝ͞ΕΔ

  6. 6*4UBDL7JFXͷ಺෦࣮૷ w ϨϯμϦϯάػೳΛ࣋ͨͳ͍6*7JFXͷαϒΫϥε w ந৅Խ͞ΕͨઃఆΛجʹ"VUPMBZPVUΛࣗಈͰషΔ

  7. ͜Ε͚ͩͰ΋Ͳ͏Ͱ΋͍͍ٙ໰͕ ৭ʑग़ͯ͘Δ

  8. BSSBHFE4VCWJFXTWTTVCWJFXT

  9. BSSBHFE4VCWJFXTWTTVCWJFXT w 6*4UBDL7JFXͰ੔ྻͤ͞ΔWJFX͸ BSSBOHFE4VCWJFXTʹೖΔ w ͔͠͠6*7JFXͷαϒΫϥεͱ͍͏͜ ͱ͸ɺTVCWJFXT΋͍࣋ͬͯΔ w ͍ͭ͜ʹWJFXΛηοτ͢ΔͱͲ͏ͳ Δʁ

  10. BSSBHFE4VCWJFXTWTTVCWJFXT w 6*4UBDL7JFXͰ੔ྻͤ͞ΔWJFX͸ BSSBOHFE4VCWJFXTʹೖΔ w ͔͠͠6*7JFXͷαϒΫϥεͱ͍͏͜ ͱ͸ɺTVCWJFXT΋͍࣋ͬͯΔ w ͍ͭ͜ʹWJFXΛηοτ͢ΔͱͲ͏ͳ Δʁ

  11. 4UBDL7JFXʹ7JFXΛฒ΂Δ

  12. 4UBDL7JFXʹBEE4VCWJFX͢Δ

  13. 4UBDL7JFXʹBEE4VCWJFX͢Δ

  14. ී௨ʹTVCWJFXͱͯ͠௥Ճ͞ΕΔͬΆ͍

  15. JT)JEEFOUSVFͰԿ͕ى͖͍ͯΔʁ

  16. JT)JEEFOUSVFͰԿ͕ى͖ ͍ͯΔʁ w JT)JEEFOUSVFͱ͢Δͱ ϨΠΞ΢τର৅͔Βফ͑Δ w ௨ৗͷTVCWJFXTʹରͯ͠ JT)JEEFOUSVFͨ͠ͱ͖ ͱͷ಺෦ͷڍಈͷҧ͍͸ͳ ʹ͔

  17. JT)JEEFOUSVFͰԿ͕ى͖ ͍ͯΔʁ

  18. JT)JEEFOUSVFͰԿ͕ى͖͍ͯΔʁ w ௨ৗͷTVCWJFXͷ࣌ͱಉ͡Ͱඳըࣗମແࢹ͞ΕΔͬΆ͍ w ͨͩ͠௨ৗͷTVCWJFXͱҧͬͯ਌Ͱ͋Δ4UBDL7JFXͱͦͷத ਎ͷ7JFXͷ੍໿͕ࣗಈతʹॻ͖׵͑ΒΕ͍ͯΔ w BEE$POTUSBJOU SFNPWF$POTUSBJOU͕ൃੜ͍ͯ͠ΔͷͰύ ϑΥʔϚϯεʹ஫ҙ͢Δඞཁ͕͋Δ

  19. ϨϯμϦϯάػೳΛ࣋ͨͳ͍ʁ

  20. ϨϯμϦϯάػೳΛ࣋ͨͳ͍ʁ w 7JFXͷϓϩύςΟΛม͑ͯΈΔͱͲ͏ͳΔʁ w ESBX3FDU ͸ݺ͹ΕΔʁ w 6*7JFXͷMBZFSϓϩύςΟʹ͸Կ͕ೖ͍ͬͯΔͷ͔

  21. CBDLHSPVOE$PMPSͰ6*4UBDL7JFXͷ ৭Λม͑ͯΈΔ w ಁ໌ͷ··

  22. ESBX3FDU @ ͸ݺ͹ΕΔ w ݺ͹Εͯ·ͨ͠

  23. MBZFSʹ͸Կ͕ೖ͍ͬͯΔʁ w $"5SBOTGPSN-BZFSͰͨ͠ɻϨΠϠΛ%ͱͯ͠ѻ͍ͬͯΔͬΆ͍ɻ w ͦΕͰCBDLHSPVOE$PMPS౳ͷมߋΛड͚ͳ͘ͳ͍ͬͯͨ໛༷ ͳͷͰ NBTLT5P#PVOET΋ޮ͔ͳ͍

  24. "VUPMBZPVUΛ಺෦Ͱு͍ͬͯΔͱ͍͏͜ͱ͸ ͦͷ؍఺ͰύϑΥʔϚϯε͕ѱ͘ͳΔ͜ͱ΋͋Γ͑Δʁ

  25. ͲΜͳ"VUPMBZPVU͕షΒΕ͍ͯΔͷ͔

  26. ͲΜͳ"VUPMBZPVU͕షΒΕ͍ͯΔͷ͔ w ී௨ʹߟ͑ͨΒ͜͏షΔ ͩΖ͏ͳ͍ͬͯ͏ී௨ͷ షΓํ͕͞Ε͍ͯ·ͨ͠

  27. ωετ͞Εͨ6*4UBDL7JFXͷॲཧ࣌ؒΛݟͯΈΔ w "VUPMBZPVUͷωετ͸ ҰൠతʹO?LͰ͕࣌ؒ૿ ͍͑ͯ͘ ʙJ04 IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED

  28. ωετ͞Εͨ6*4UBDL7JFXͷॲཧ࣌ؒΛݟͯΈΔ w ͜Μͳײ͡Ͱͻͨ͢Β6*4UBDL7JFXΛ ωετ͍ͯ͘͠

  29. ωετ͞Εͨ6*4UBDL7JFXͷॲཧ࣌ؒΛݟͯΈΔ w 6*7JFXʹରͯ͠"VUPMBZPVUΛషͬ ͍ͯͬͨ৔߹ͱܗ͸มΘΒͳ͍ ໛༷     

         NT ωετ਺
  30. ݁࿦ w ϨΠΞ΢τʹର͢ΔศརͳΠϯλʔϑΣʔεͱͯ͠ఏڙ͞ Ε͍ͯΔ͕ɺಛผϨΠΞ΢τͷύϑΥʔϚϯεΛ࠷దԽ͠ ͍ͯͳ͍ ඳըͷίετ͸௿͍  w 6*4UBDL7JFX͕ͨ͘͞Μωετ͞ΕͨϨΠΞ΢τͷ৔߹ɺ 6*7JFXΛϑϥοτʹϨΠΞ΢τͨ͠΄͏͕ύϑΥʔϚϯε

    ͸͍͍͔΋͠Εͳ͍
  31. ࢀߟࢿྉ w 6*4UBDL7JFX6*,JUc"QQMF%FWFMPQFS%PDVNFOUBUJPO w IUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOVJLJUVJTUBDLWJFX w .ZTUFSJFTPG"VUP-BZPVU 1BSU w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED

    w 8IBUT/FXJO$PDPB5PVDI w IUUQTEFWFMPQFSBQQMFDPNWJEFPTQMBZXXED