iPhoneやiPadでアプリを作る時にどうしても詰まるUIのレイアウト。
アプリ「パズル&モナーク」 https://apple.co/2SkC2Pc ソースコード https://github.com/tek-nishi/PuzzleAndMonarch
ΞϓϦͷ6*ϨΠΞτ΅ͬͪήʔϜσϕϩούࢁ৴ߦ@5mingame2
View Slide
w͔ΒձࣾΛసʑͱ͠ͳ͕ΒήʔϜ࡞Γw 1$ɺՈఉ༻ήʔϜػɺΨϥέʔɺεϚϗʜwઐֶߍͰήʔϜ࡞ΓΛڭ͑ͯ·͢w͍͖͞ΜϥϒϥΠϒʂ؍ͯ·ࣗ͢ݾհ
wεϚϗ1$ͰήʔϜΛ࡞Ζ͏ͱͨ࣌͠ʹ໘͢Δղ૾ͷwͿͬͪΌ͚Ϣʔβʔͷ͚ͩଘࡏ͢Δ͍wͦΕʹͲ͏ͬͯऔΓΜͰ͍Δͷ͔ɺΈΜͳͰߟ͍͑ͨͱࢥ͍·͢͡Ίʹ
ࠓͷΰʔϧ
w༷ʑͳղ૾ͷରԠw6*ͷϨΠΞτख๏wJ1IPOF9ͷରԠࠓऔΓ্͛Δࣄ
༷ʑͳղ૾ͷରԠhttp://blog.digimerce.jp/2018/01/25/4028/
wಉ͡ը໘ൺͰղ૾͕ҧ͏wJ1IPOFͱJ1BEͰ͍ͩͿΜҧ͏wॎը໘ͱԣը໘ʹରԠ͍༷ͨ͠ʑͳղ૾ͷରԠ
wը໘ͷղ૾Λͦͷ··࠲ඪͱͯ͠ѻ͏ख๏Ͱແཧ͕͋Δ༷ʑͳղ૾ͷରԠ
wಁࢹมʴॎԣൺͰରॲw %දࣔͰ͔ܽͤͳ͍ܭࢉख๏༷ʑͳղ૾ͷରԠhttp://www.sousakuba.com/Programming/d3d_camera.html
wࢹ֯ͱΫϦοϓڑ ۙɺॎԣൺ͕ܾ·Δͱɺ࠲ඪܥ͕ࣗಈతʹܾ·Δw࠲ඪ͕ղ૾ґଘͰͳ͘ͳΔwΫϦοϓڑ ۙͷҐஔʹશͯͷ6*Λඳը༷ʑͳղ૾ͷରԠhttp://www.sousakuba.com/Programming/d3d_camera.html
wԣ෯ͷҧ͍ॎԣൺͷมߋͰରԠͰ͖Δwॎͷը໘ॎԣൺͱΫϦοϓڑ ͔ۙΒࢹ֯Λܭࢉͯ͠ରԠ͢Δ ৄࡉলུ༷ʑͳղ૾ͷରԠhttp://www.sousakuba.com/Programming/d3d_camera.html
w༷ʑͳղ૾ͷରԠw6*ͷϨΠΞτख๏wJ1IPOF9ͷରԠͻͱͭղܾ
wղ૾ͷҧ͍ٵऩͰ͖ͨwͰ͜͏͍͏ͷΛͲ͏ͬͯѻ͑ྑ͍ͷ͔6*ͷϨΠΞτख๏
w6OJUZͷ6* $BOWBTΛਅࣅͨ6*ͷϨΠΞτख๏https://docs.unity3d.com/ja/current/Manual/UISystem.html
w࢛֯ͷ̐ͷҐஔͷܾΊํʹಛ͕͋Δw"ODIPSͱ͍͏͕ɺͷ̐ͷҐஔΛͲΕ͚ͩड͚ܧ͙͔ΛܾΊΔw͜ͷ༷Λίϐʔͨ͠6*ͷϨΠΞτख๏
wΑ͘Θ͔ΒΜͱࢥ͏ͷͰɺ6OJUZͷެࣜυΩϡϝϯτΛݟ͍ͯͩ͘͞wIUUQTEPDTVOJUZEDPNKBDVSSFOU.BOVBM6*#BTJD-BZPVUIUNM6*ͷϨΠΞτख๏
wʮը໘্͔ΒϐΫηϧʯͱ͔ʮӈԼϐολγʯͱ͔ࢦఆͰ͖Δwॎը໘ͱԣը໘ͷҧ͍Λ͔ͳΓٵऩͰ͖ͨ6*ͷϨΠΞτख๏
6*ͷϨΠΞτख๏
w͜ΕϋʔυίʔσΟϯάͰͨ͠ʜ6*ͷϨΠΞτख๏
w༷ʑͳղ૾ͷରԠw6*ͷϨΠΞτख๏wJ1IPOF9ͷରԠ;ͨͭղܾ
wJ1IPOF9͔ΒʮηʔϑΤϦΞʯ͕Ճ͞ΕͨJ1IPOF9ରԠhttps://developer.apple.com/jp/ios/update-apps-for-iphone-x/
wʮ6*͜ͷྖҬʹஔͯ͠Ͷʯw"QQMFͷެࣜυΩϡϝϯτ͋Γ·͢w IUUQTEFWFMPQFSBQQMFDPNKQJPTVQEBUFBQQTGPSJQIPOFYJ1IPOF9ରԠ
w࠷ॳͷࠒʮ·͋େৎͰ͠ΐ͏ʂʯͱؾʹͯ͠ͳ͔ͬͨwผͷ6OJUZҊ݅Ͱେ͍ʹϋϚͬͨwલड़ͷϨΠΞτ͚ͩͰશ͘ٵऩͰ͖ͳ͍J1IPOF9ରԠ
wํͳ͍ͷͰ6OJUZͷରԠํ๏ΛௐͯਅࣅͨwIUUQTGPSVNVOJUZDPNUISFBETJQIPOFQMVTYTVQQPSUJ1IPOF9ରԠ
wηʔϑΤϦΞͷ༗ແΛௐΔؔΛ࡞J1IPOF9ରԠ// セーフエリアがあるか調べるbool check(){auto* view = (UIView*)ci::app::getWindow()->getNative();UIEdgeInsets insets = UIEdgeInsetsMake(0, 0, 0, 0);if ([view respondsToSelector: @selector(safeAreaInsets)]){insets = [view safeAreaInsets];}return (insets.top > 0)|| (insets.bottom > 0)|| (insets.left > 0)|| (insets.right > 0);}
w͋ͱϋʔυίʔσΟϯάw6*ϨΠΞτͷ࠲ඪΛηʔϑΤϦΞ͕͋Δ͚࣌ͩແཧΓॻ͖͑ΔJ1IPOF9ରԠ
J1IPOF9ରԠ
w༷ʑͳղ૾ͷରԠw6*ͷϨΠΞτख๏wJ1IPOF9ͷରԠͥΜͿղܾ
wؾʹͳͬͨ͜ͱͱ͔࣭ͳͲ͋Ε͋Γ͕ͱ͏͍͟͝·ͨ͠