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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
kazuhiro4949
December 28, 2018
Technology
790
0
Share
iOSアプリのレイアウトを回転で変更するとき注意していること
Nagoya iOS meetup vol. 5
https://nagoya-ios-meetup.connpass.com/event/110046/
kazuhiro4949
December 28, 2018
More Decks by kazuhiro4949
See All by kazuhiro4949
SwiftUIをUIKitのライフサイクルで拡張するTips
kazuhiro4949
4
2.9k
iOS15でプッシュ通知のテストが大変だった話
kazuhiro4949
0
650
Source Editor Extensionと SwiftSyntaxでコード自動生成ツール を作る
kazuhiro4949
2
4.7k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
390
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
130
大企業の最前線でコードを書き続けるためにやってきたこと
kazuhiro4949
28
19k
10分で振り返るここ数年のWWDCの技術トレンド
kazuhiro4949
0
340
コードを書きながら同時に設計していくためのiOSアプリ開発方針
kazuhiro4949
6
2.7k
身近な技術的課題から始めるOSSプロジェクト
kazuhiro4949
0
350
Other Decks in Technology
See All in Technology
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
550
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
1
520
ルールやカスタム機能、どう使う?理想の出力を引き出すために今知りたいIBM Bob 5つの機能
muehara
0
160
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
270
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
110
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
AI時代の私の技術インプットとアウトプット術
tonkotsuboy_com
15
8k
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
300
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
210
Platform Engineering as a Product: Criteria for Improvement and Multi-Tenant Design
kumorn5s
0
420
AI Adaptable なテストを整える工夫 / Ways to Make Your Tests AI-Adaptable
bitkey
PRO
2
190
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
250
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Design in an AI World
tapps
1
220
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
350
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
190
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
380
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
130
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Accessibility Awareness
sabderemane
1
130
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.4k
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 φϏήʔγϣϯͷதʹӅΕ͍ͯΔͱ͖ͳͲͰճసͷϝιου͕ݺΕͨ߹ͷ ςετ͓͍ͯͨ͠΄͏͕͍͍
Ҏ্ɺͭͷ؍Ͱ·ͱΊͯΈ·ͨ͠ ճసڐՄͷઃఆ ϨΠΞτมߋΛߦ͏λΠϛϯά ճసͷڧ੍ ಈ࡞֬ೝ