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
iOSアプリのレイアウトを回転で変更するとき注意していること
Search
kazuhiro4949
December 28, 2018
Technology
0
730
iOSアプリのレイアウトを回転で変更するとき注意していること
Nagoya iOS meetup vol. 5
https://nagoya-ios-meetup.connpass.com/event/110046/
kazuhiro4949
December 28, 2018
Tweet
Share
More Decks by kazuhiro4949
See All by kazuhiro4949
SwiftUIをUIKitのライフサイクルで拡張するTips
kazuhiro4949
4
2.7k
iOS15でプッシュ通知のテストが大変だった話
kazuhiro4949
0
600
Source Editor Extensionと SwiftSyntaxでコード自動生成ツール を作る
kazuhiro4949
2
3.9k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
350
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
90
大企業の最前線でコードを書き続けるためにやってきたこと
kazuhiro4949
28
19k
10分で振り返るここ数年のWWDCの技術トレンド
kazuhiro4949
0
300
コードを書きながら同時に設計していくためのiOSアプリ開発方針
kazuhiro4949
6
2.6k
身近な技術的課題から始めるOSSプロジェクト
kazuhiro4949
0
310
Other Decks in Technology
See All in Technology
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
3
440
MobileActOsaka_250704.pdf
akaitadaaki
0
130
Glacierだからってコストあきらめてない? / JAWS Meet Glacier Cost
taishin
1
160
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
6
2.4k
ビズリーチにおけるリアーキテクティング実践事例 / JJUG CCC 2025 Spring
visional_engineering_and_design
1
120
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
27k
LangChain Interrupt & LangChain Ambassadors meetingレポート
os1ma
2
310
Model Mondays S2E04: AI Developer Experiences
nitya
0
140
LangSmith×Webhook連携で実現するプロンプトドリブンCI/CD
sergicalsix
1
230
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
280
Beyond Kaniko: Navigating Unprivileged Container Image Creation
f30
0
130
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
7.8k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
Six Lessons from altMBA
skipperchong
28
3.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
970
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Automating Front-end Workflow
addyosmani
1370
200k
Speed Design
sergeychernyshev
32
1k
Done Done
chrislema
184
16k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Transcript
J04ΞϓϦͷϨΠΞτΛճసͰ มߋ͢Δͱ͖ҙ͍ͯ͠Δ͜ͱ ,B[VIJSP)BZBTIJ /BHPZBJ04NFFUVQWPM
ࣗݾհ wྛ߂ w5XJUUFSɿLB[VIJSP wHJUIVCɿLB[VIJSP wRJJUBɿLB[VIJSP w:BIPP+BQBO$PSQ wJ04ΞϓϦΤϯδχΞ wJ04ΞϓϦࠇଳ
ΞυΧϨͰॻ͍ͨΛ͠·͢ IUUQTRJJUBDPNLB[VIJSPJUFNTEGGGCBFE
ΞδΣϯμ ճసڐՄͷઃఆ ϨΠΞτมߋΛߦ͏λΠϛϯά ճసͷڧ੍ ಈ࡞֬ೝ
ճసڐՄͷઃఆ
ճసڐՄͷઃఆ J1IPOFɾJ1BEͰڞ௨ͷ߹ϓϩδΣΫτϑΝΠϧ J1IPOFɾJ1BEͰม͑Δ߹*OGPQMJTU ը໘ຖʹࡉ͔͘ม͍͑ͨ߹"QQ%FMFHBUF͔7$ J1IPOF9Ͱ6QTJEF%PXOͰ͖ͳ͍
J1IPOFɾJ1BEͰڞ௨ͷ߹ ϓϩδΣΫτϑΝΠϧ
J1IPOFɾJ1BEͰڞ௨ͷ߹ ϓϩδΣΫτϑΝΠϧ
J1IPOFɾJ1BEͰڞ௨ͷ߹ ϓϩδΣΫτϑΝΠϧ
J1IPOFɾJ1BEͰม͑Δ߹ *OGPQMJTU J1BE J1IPOF
ը໘͝ͱʹࡉ͔͘ม͍͑ͨ ߹"QQ%FMFHBUF͔7$ "QQ%FMFHBUFͰͷ࣮ func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?)
-> UIInterfaceOrientationMask { return .all }
ը໘͝ͱʹࡉ͔͘ม͍͑ͨ ߹"QQ%FMFHBUF͔7$ 7$Ͱͷ࣮ override var supportedInterfaceOrientations: UIInterfaceOrientationMask { return .all
}
J1IPOF9ܥͩͱγεςϜͷઃఆ ͱͯ͠6QTJEF%PXO͕͖͔ͳ͍ w J1IPOF9ܥͰཪฦͨ͠߹ͷճస σόΠεϨϕϧͰޮ͔ͳ͍Α͏ʹͳͬ ͍ͯΔ
ϨΠΞτมߋΛ ߦ͏λΠϛϯά
ϨΠΞτมߋΛ ߦ͏λΠϛϯά override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator)
{ super.viewWillTransition(to: size, with: coordinator) coordinator.animate(alongsideTransition: { _ in if size.width > size.height { // ϨΠΞτมߋॲཧΛॻ͘ } else { // ... } }, completion: nil) } 6*7JFX$POUSPMMFSͷ"1*
ϨΠΞτมߋΛ ߦ͏λΠϛϯά w ઌఔͷճసΠϕϯτճస͢Δͱଈ࠲ʹݺΕΔ w 7$͕લ໘ʹ͍ͳ͍߹ɺճసͯ͠ଈ࠲ʹMBZPVU4VCWJFXT ͳͲݺΕ ͳ͍ w ճసޙͷϨΠΞτΛఆͨ͠ܭࢉΛ͜͜ॻ͍ͯ͠·͏ͱ่ΕΔ
w ϨΠΞτॲཧϨΠΞτΠϕϯτͰ࣮ͨ͠΄͏͕͍͍
ճసͷڧ੍
ճసͷڧ੍ w σόΠεͷճసΛڲਖ਼͢Δ"1*ͳ͍ w 7$͝ͱͷճసΛٖͬͯࣅతʹߦ͏
ճసͷڧ੍ override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation { return .landscapeRight } 6*7JFX$POUSPMMFSͷ"1*
͜ΕͰϞʔμϧ͕දࣔ͞ΕΔํΛܾΊΒΕΔɻ ͜ͷઃఆͩͱɺࠨ͔Βӈʹ͔ͬͯϞʔμϧ͕಄Λग़ͯ͘͠Δ
ճసͷڧ੍ 6*7JFX$POUSPMMFSͷ"1* ͜ΕͰσόΠεΛճͯ͠7$-BOETDBQF3JHIUͷ··ʹͳΔ override var supportedInterfaceOrientations: UIInterfaceOrientationMask { return .landscapeRight
} override var shouldAutorotate: Bool { return false }
ճసͷڧ੍ w ը໘͕ճస͢ΔΑ͏ͳΧελϜτϥϯδγϣϯΛ࣮ w σόΠε͕ճస͍ͯ͠ΔΑ͏ʹݟͤΒΕΔ w /PUJpDBUJPO$FOUFSͰPSJFOUBUJPO%JE$IBOHF/PUJpDBUJPOΛࢹ w σόΠεͷճసʹ߹ΘͤͯϞʔμϧΛදࣔͤ͞ΒΕΔ
ճసͷڧ੍ UIDevice.current.setValue( UIInterfaceOrientation.landscapeRight.rawValue, forKey: “orientation” ) ΩʔίʔσΟϯάͰϓϥΠϕʔτ"1*Λୟ͚ σόΠεճస͕Ͱ͖Δ
ಈ࡞֬ೝ
ಈ࡞֬ೝ w ճస7$͕Ͳͷ֊ʹ͍࣮ͯߦ͞ΕΔ w ϨΠΞτ7$ͷ֊্ͷҐஔදࣔͷ͞ΕํͰ࣮ߦ͞Εͳ͍ࣄ͕͋Δ
ಈ࡞֬ೝ w ैͬͯɺલ໘ʹݟ͍͑ͯΔͱ͖ͷϨΠΞτ͚ͩ֬ೝ͢Ε͍͍Θ͚Ͱͳ͍ w φϏήʔγϣϯͷதʹӅΕ͍ͯΔͱ͖ͳͲͰճసͷϝιου͕ݺΕͨ߹ͷ ςετ͓͍ͯͨ͠΄͏͕͍͍
Ҏ্ɺͭͷ؍Ͱ·ͱΊͯΈ·ͨ͠ ճసڐՄͷઃఆ ϨΠΞτมߋΛߦ͏λΠϛϯά ճసͷڧ੍ ಈ࡞֬ೝ