[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

関連記事

no image

Cocos2dで作る iPhone&iPadゲームプログラミング

ついに良さそうなcocos2d本が出るらしい。6/24(金)発売予定。488ページ、3980円。 し

記事を読む

とりあえず iPhone 6 Plus に対応する

iPhone 6 Plus は対応したアプリでないと画面が自動的に拡大されてらくらくホンぽい表示にな

記事を読む

Apple Developer Program 更新 2020

毎年行うが1年ごとなのでいつも前年の作業を忘れてしまう。 振り返ってみたところ2009年から

記事を読む

no image

[iPhone開発本] 基礎から学ぶ iPhoneアプリ開発 林 晃著

基礎から学ぶ iPhoneアプリ開発 という本が2010年7月24日に発売になるらしい。 題名にはま

記事を読む

LSSupportsOpeningDocumentsInPlace

拙作英単語学習アプリ EverLearn で LSSupportsOpeningDocuments

記事を読む

新作アプリReibunを@marie__100さんに紹介していただきました

@marie__100さんに英語学習アプリ Reibunを紹介いただきました。ありがとうございました

記事を読む

KORG LP-380 で QUICCO SOUND mi.1 を使ってみた

電子ピアノ KORG LP-380 を買ったのでこの機会に以前から気になっていた QUICCO SO

記事を読む

no image

App Store の Kids Category にアプリを公開する その2

Kids Category でアプリを公開してもらうために Submit したところ、見事に Rej

記事を読む

no image

Xcode 設定しておくと便利なカスタマイズいろいろ

以前から Xcode はもう一歩使いにくいと思っていたが、iPhone アプリで稼げるのか でカスタ

記事を読む

EverLearnのURLスキーム

EverLearn の URL スキームをちゃんと公開していなかったので公開しました。EverLea

記事を読む

Message

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

[Xcode] Interface Builder でControl+ドラッグでOutletが作成できない

たまにInterface Builder でUI作っているとはまるの

Ember Mug用のふたを買ってみた

Ember Mug Lid 2022年あけましておめでとうござ

Google Search Console の利用を開始してみた

YouTube DATA API (iOS Quickstart  

Xcode 13.1 アップデート

Apple、統合開発環境「Xcode 13.1」をリリース:Code

watchOS8 アップデート内容

この前購入した Apple Watch SE は watchOS 7

→もっと見る

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