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

もう迷わない!モーダルとプッシュどっちがいいの?

53e2d354b3299d64a54af680865516d5?s=47 Sato Takeshi
February 14, 2018

 もう迷わない!モーダルとプッシュどっちがいいの?

第2回 iOS UI実装勉強会で発表した内容です。
https://connpass.com/event/78347/

53e2d354b3299d64a54af680865516d5?s=128

Sato Takeshi

February 14, 2018
Tweet

More Decks by Sato Takeshi

Other Decks in Programming

Transcript

  1. ΋͏໎Θͳ͍ʂ ϞʔμϧͱϓογϡͲͬ ͕͍͍ͪͷʁ ୈ2ճ iOS UI࣮૷ษڧձ 2018೥2݄14೔ ࠤ౻߶࢜ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 1

  2. Who am I ࠤ౻߶࢜ (@hatakenokakashi) MAMORIOגࣜձࣾͰiOSΤϯδχΞ͠ ͍ͯ·͢ɻ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 2

  3. ࣗ෼ͰΞϓϦΛ࡞ͬͨ͜ͱ͋Δਓ? ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 3

  4. ! ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 4

  5. σβΠϯࣗ෼Ͱ࡞ΔͷେมͰ͢Ͷ ! ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 5

  6. ը໘σβΠϯ΋େࣄ͚ͩͲը໘ભҠͷ ઃܭ΋େࣄͳUIͷ̍ͭʂ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 6

  7. ࠓ೔͸ը໘ભҠͷ࿩Λ͍ͤͯͩ͘͞͞ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 7

  8. ෩ਫͷ઎͍ΞϓϦΛ࡞͍ͬͯͨɻ Ϣʔβʔʹૢ࡞Λ͍ͤͨ͞ը໘͸Tab barͷҰ෦Ͱྑ͍ͷ͔ʁ modalͰશը໘දࣔʹ͢Δ΂͖͔ʁ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 8

  9. Tab bar࢖͏ͱը໘ྖҬ͕ڱ͘ͳΔ͚Ͳ͍͍ͷʁ શ෦࢖ͬͨ΄͏͕ྑ͘ͳ͍ʁ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 9

  10. !!!!!!!! ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 10

  11. Tab bar࢖ͬͯΔଞͷΞ ϓϦΛݟͯΈΔ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 11

  12. ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 12

  13. ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 13

  14. ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 14

  15. ! Ұཡը໘͸Tab barͰ૊ΈࠐΈɻৄࡉը໘͸ϓογϡભҠɻ ౤ߘܥ͸ϞʔμϧભҠͰશը໘දࣔɻ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 15

  16. Human Interface Guidelines iOS • Modality • Navigation ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 16

  17. Modality Ϟʔμϧͷ࢖༻͸࠷খݶʹɻҰൠతʹਓʑ͸ΞϓϦΛγʔϜϨ εʹ࢖͏͜ͱΛ޷Έ·͢ɻϞʔμϧΛ࢖͏৔໘͸Α͘Α͘ߟ͑ ·͠ΐ͏ɻ୭͔ͷ஫ҙΛҾ͖ग़͢ॏཁͳࣄ͕͋Δ৔߹΍ɺ͋Δ λεΫ͕ऴΘΔ͔ഁغ͞Εͳ͍ͱΞϓϦ͕࢖͏͜ͱ͕Ͱ͖ͳ͍ ঢ়ଶɺ·ͨ͸ॏཁͳσʔλΛอଘ͢Δ৔߹ͳͲ͕޷·͍͠Ͱ ͢ɻ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 17

  18. Modality ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 18

  19. Navigation ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 19

  20. Hierarchical Navigation ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 20

  21. Flat Navigation ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 21

  22. Content-Driven or Experience- Driven Navigation ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 22

  23. ݴ͍ํΛม͑Δͱ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 23

  24. ͦͷը໘ΛϢʔβʔ͕ • ʮݟΔʯ͕ओମͷը໘ͳΒφϏήʔγϣϯʹ૊ΈࠐΉɻ • ϓογϡભҠ • ʮ͢Δʯ͕ओମͷը໘ͳΒશ໘දࣔ͢Δɻ • ϞʔμϧભҠ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ

    24
  25. ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 25

  26. ΋͏Ұ౓ଞͷΞϓϦΛ֬ ೝ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 26

  27. Twitter ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 27

  28. Evernote ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 28

  29. ࣗ෼ͷΞϓϦͰ͸ Ϣʔβʔʹը໘ૢ࡞ͯ͠ཉ͍͠ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 29

  30. ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 30

  31. class TopTabBarController: UITabBarController, UITabBarControllerDelegate { func tabBarController(_ tabBarController: UITabBarController, didSelect

    viewController: UIViewController) { let tagNum = viewController.tabBarItem.tag switch tagNum { case 2: let second = FlyingStarViewController.instanceate() self.present(second, animated: true, completion: nil) default: break } } } ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 31
  32. ·ͱΊ • ʮݟΔʯ͕ओମͷը໘ͳΒφϏήʔγϣϯʹ૊ΈࠐΉɻ • ϓογϡભҠ • ʮ͢Δʯ͕ओମͷը໘ͳΒશ໘දࣔ͢Δɻ • ϞʔμϧભҠ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ

    32
  33. એ఻ ΋͏໎Θͳ͍ʂϞʔμϧͱϓογϡͲ͕͍͍ͬͪͷʁ 33