iPhoneアプリは端末を持っている向きで、画面の向きを変えたり、デザインを変えたりするのが定番ですが、画面を回転する方法はいくつかあります。
今回は起動時の画面の向きの指定と、AutoRotateの指定について書きたいと思います。
iPhoneアプリを作る場合、画面が横向きの状態で起動したいとか、横向き固定でアプリを作りたい時があるかと思います。
起動時の向きを指定するには、Info.plistに以下の記述を追加すればOKです。
Key : UIInterfaceOrientation
Value : UIInterfaceOrientationLandscapeLeft
Valueは横向きの場合2種類あります。
UIInterfaceOrientationLandscapeLeftは、画面の左側にiPhoneのホームボタンが来る向きです。
UIInterfaceOrientationLandscapeRightは、画面の右側にiPhoneのホームボタンが来る向きになります。
通常の向き(デフォルト値)はUIInterfaceOrientationPortraitで、逆向きはUIInterfaceOrientationPortraitUpsideDownになります。
詳細はAPIリファレンスの「UIApplication Class Reference」で確認できます。
※初期のiPhoneSDKではInfo.plistで指定しても、起動直後に元の向きに戻ってしまうバグが有り、UIViewControllerのviewDidLoadの中で別途回転させる必要がありましたが、最新のSDKではInfo.plistでの指定のみでOKです。
Info.plistに記述しただけでは、起動後にiPhoneを縦に持ったら、縦向きに回転して、横向きに戻らなくなるかと思います。
この自動で回転する向きの指定は、UIViewControllerのshouldAutorotateToInterfaceOrientationメソッドで指定します。
以下のように記述すれば、UIInterfaceOrientationLandscapeLeft方向で固定になります。
-(BOOL)shouldAutorotateToInterfaceOrientation:
(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft );
}
このメソッドの戻り値に、自動で回転させる向きではYESを指定することで、回転する向きを制御します。
回転後のViewを自動でリサイズするかどうか、リサイズする場合はどのようにリサイズするかは、UIVewのプロパティ「autoresizingMask」で指定できます。
※iPhoneアプリ開発に関する投稿を今から始めるiPhoneアプリ開発にまとめました。
最近のコメント