[iOS] iOS6 から起動時に一度 Portraitになる挙動が変更された模様

公開日: : 最終更新日:2012/12/29 iPad, iPhone

iOS6 からは画面の回転関係の仕様が整理されたのか、いろいろと変更が入っている。
まず – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
は使えなくなったので、その対応が必要。
これはいろいろなところに情報が書かれている。

その対応は入れていたつもりだったのだが、今回 Landscape 状態でアプリを起動してみたところ部品が正しく配置されない問題が発生してしまった。

いろいろ試してみたところ、iOS5 までは正しく動作するが、iOS6 から問題が発生することがわかった。どうやらこれまで呼ばれていた didRotateFromInterfaceOrientation が呼ばれなくなっているようだ。

hayate-works Note: アプリ起動時にデバイスが横向きだったときのUIViewControllerメソッド呼び出し順
にあるとおり、iOS5 まではLandscapeで起動しても Portrait の状態から始まっていたのだが、iOS6 からはその挙動が変更されており、Landscape で起動してくるようだ。

このため、Landscapeで起動したときには上記 URL で書いている didRotateFromInterfaceOrientation (Landscape) が呼ばれなくなってしまった。
Landscapeで起動しているのに一度Portraitになっていたのはある意味これまでの挙動がおかしかったわけだが、didRotateFromInterfaceOrientation が呼ばれることを期待してそのタイミングで部品を配置するコードを書いていた場合、画面表示がおかしくなってしまうことがわかった。
例えばこちらも同じ問題に遭遇しているようだ でらうま倶楽部 : OpenGL ES系はとくに。 iOS6への対応で気をつける事

View Controller Programming Guide for iOS: Supporting Multiple Interface Orientations

Rotation onestep 2x

とりあえず iOS6でも viewDidAppear のタイミングではLandscape状態になっているので、そのタイミングで部品を配置したところ正しく配置されたが、他に良い方法がありそうな気がする。

同じような議論あり
willAnimateRotationToInterfaceOrientation not being called « Sparrow Forum

関連記事

ドラムアプリ「ドラムちゃん」用に電子ドラムiWordを買ってみた

自作ドラム学習アプリ「ドラムちゃん」には以前からMIDIドラムを接続することができたが、これまでな

記事を読む

ようやくAppStore に Submit

@ITの 日本人がつまずかないためのiPhone開発ポイント を読みながらAppStoreにアプリ公

記事を読む

NSInternalInconsistencyException

久しぶりにiOS6以前のアプリをビルドしたら NSInternalInconsistencyExce

記事を読む

no image

iPhone UIデザイン用シート

paella さんのページにiPhone UIデザイン用シートがあったので利用させてもらう。8月に発

記事を読む

no image

薄い iPad2用ケース eggshell for iPad2 TUN-PD-000079 購入 2011/06/27

不具合報告があったので、当初予定がなかったiPad2を購入。 それはまた別に書くとして、まずは一緒に

記事を読む

no image

自作アプリを売り買いできる Apptopia

Apptopia というところからメールが来たので調べてみたところ、どうやらAndroid

記事を読む

[WatchKit] Apple WatchアプリをRejectされた話

Apple Watch はいつの間にか電池がかなり減っていることが多く、いつどのように減っているか知

記事を読む

no image

iPad mini 用透明ハードケース eggshell for iPad mini

iPad mini 用にハードケースを購入した。 iPad 用ケー

記事を読む

no image

iPhoneアプリにAboutBoxを実装

iPhoneアプリにAboutBoxを実装するためのメモ。 今回、自分のiPhoneアプリにAbou

記事を読む

no image

省メモリプログラミング

昔買った「省メモリプログラミング」を読み返してみたら、Objective-Cで採用している参照カウン

記事を読む

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

TORRAS iPhone 16 Pro Max用ケース

自分はiPhoneはケースを付けない派で、iPhone 12

iPhone 16 Pro Max 購入

iPhone 16 Pro Max 256GB 189000

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

→もっと見る

  • 2012年12月
     12
    3456789
    10111213141516
    17181920212223
    24252627282930
    31  
PAGE TOP ↑