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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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.8k
iOS 12サポート終了で使えるAPIおさらい
kazuhiro4949
2
400
Source Editor ExtensionとSwiftSyntaxでコード自動生成
kazuhiro4949
0
140
大企業の最前線でコードを書き続けるためにやってきたこと
kazuhiro4949
28
19k
10分で振り返るここ数年のWWDCの技術トレンド
kazuhiro4949
0
350
コードを書きながら同時に設計していくためのiOSアプリ開発方針
kazuhiro4949
6
2.7k
身近な技術的課題から始めるOSSプロジェクト
kazuhiro4949
0
350
Other Decks in Technology
See All in Technology
cccccc
moznion
0
1.9k
ポストモーテム! DDoSからサイトは守れた。 でもビジネスは守れなかった。
bengo4com
0
2.8k
あなたの『Site』はどこですか? — xREという考え方
miyamu
0
1.2k
AICoEでAIネイティブ組織への進化
yukiogawa
0
160
Zoom2Youtube.Claude
kawaguti
PRO
3
490
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
220
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
3
3.6k
非定型なドキュメントを効率よくリファクタする 〜えぇ!?仕様書27本の移行が1日で終わったって!?〜
subroh0508
1
320
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
310
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
140
はじめてのWDM
miyukichi_ospf
1
140
「最後に責任を取るのはチーム」— 人間のPRレビューを最小化してアップデートしたメンタルモデル
jnishime_dresscode
0
580
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
200
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
Un-Boring Meetings
codingconduct
0
340
Measuring & Analyzing Core Web Vitals
bluesmoon
9
880
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
240
Exploring anti-patterns in Rails
aemeredith
3
440
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
210
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
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 φϏήʔγϣϯͷதʹӅΕ͍ͯΔͱ͖ͳͲͰճసͷϝιου͕ݺΕͨ߹ͷ ςετ͓͍ͯͨ͠΄͏͕͍͍
Ҏ্ɺͭͷ؍Ͱ·ͱΊͯΈ·ͨ͠ ճసڐՄͷઃఆ ϨΠΞτมߋΛߦ͏λΠϛϯά ճసͷڧ੍ ಈ࡞֬ೝ