2012年11月10日土曜日

iOS6非互換:デバイスと画面回転の不一致

iOS6のiPad(実デバイス)での拙作アプリ動作確認では特に問題無く動作していたんですが、iOS6シミュレータで実行すると画面の回転制御がおかしいのか横画面の筈がデバイスは縦状態になり、画面だけが横表示されるのでデバイスの向きと画面表示がずれる現象が発生していました。

iOS4.3やiOS5.1のシミュレータでは問題無く表示されるのでiOS6からの非互換のようです。

<原因>
・UIWindowクラスのrootViewControllerプロパティにViewControllerインスタンスを設定する必要があるようです。

<対応>
・rootViewControllerプロパティにビューコントローラーを設定するコードを追加。


// View表示切替
[window addSubview:theViewController.view];
[self.viewController.view removeFromSuperview];
self.viewController = theViewController;
// 2012/11/10 ADD_START: iOS6非互換対応
 self.window.rootViewController = theViewController;  …追加コード
// 2012/11/10 ADD_END
[window makeKeyAndVisible];


上記のようにrootViewControllerプロパティに代入するとデバイスの向きと画面の向きが合いました。

ではまた~

0 件のコメント:

コメントを投稿