iOS6 画面回転対応
2013年01月29日
はじめまして、システムエンジニアの高山です。
3月の年度末に向けて忙しくアグレッシブな日々を送っております。
ほのぼの記事が多い、SEメンバーブログですが、仕事もちゃんとしてるよ!ってことで、真面目な記事を一つ。
年末に以前リリースしたアプリのiOS6対応を行いました。
動作チェックをすると、概ね動きは正常なものの、画面の回転がおかしい。。。
横を向いているのに、画面は縦のまま。。。おー。。。
ではでは、対応。
今までは下記メソッドで、回転方向を指定し、制御する事が可能でしたが、
iOS6からはコールされません。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return YES;
}
iOS6からは、下記メソッドがコールされるようになります。
■端末の回転の際にコールされ、画面の回転を許可(YES)、不可(NO)を指定することができます。
-(BOOL)shouldAutorotate{
return YES;
}
■shouldAutorotateでYESとした場合のみ、回転を許す方向を指定します。
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
また、下記で端末の向きを取得することができます。
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
これを元に、「orientation == UIDeviceOrientationPortrait」といった形で画面の向きを判定し、
画面の向きに応じた処理を行うこともできます。
既に、情報としては出ている内容ではありますが、みなさん参考にしてください。
ちなみに、iOS5で使用していた「shouldAutorotateToInterfaceOrientation」を削除してしまうと、
今度はiOS5で画面の回転がおかしくなるので、これは残しておいてください。
それにしてもAppleは相変わらず容赦ないよなーと。。。
Appleの土俵で制作している以上は仕方ない、と言っている人がいましたがその通りですね。。。
弊社では、サイト制作以外にもスマートフォンアプリの制作も行なっています。
サイトの制作依頼だけでなく、アプリの制作依頼もお待ちしています!
3月の年度末に向けて忙しくアグレッシブな日々を送っております。
ほのぼの記事が多い、SEメンバーブログですが、仕事もちゃんとしてるよ!ってことで、真面目な記事を一つ。
年末に以前リリースしたアプリのiOS6対応を行いました。
動作チェックをすると、概ね動きは正常なものの、画面の回転がおかしい。。。
横を向いているのに、画面は縦のまま。。。おー。。。
ではでは、対応。
今までは下記メソッドで、回転方向を指定し、制御する事が可能でしたが、
iOS6からはコールされません。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return YES;
}
iOS6からは、下記メソッドがコールされるようになります。
■端末の回転の際にコールされ、画面の回転を許可(YES)、不可(NO)を指定することができます。
-(BOOL)shouldAutorotate{
return YES;
}
■shouldAutorotateでYESとした場合のみ、回転を許す方向を指定します。
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
縦(ホームボタンが下) | :UIDeviceOrientationPortrait |
縦(ホームボタンが上) | :UIDeviceOrientationPortraitUpsideDown |
横(ホームボタンが右) | :UIDeviceOrientationLandscapeLeft |
横(ホームボタンが左) | :UIDeviceOrientationLandscapeRight |
ホームボタンが真上 | :UIDeviceOrientationFaceUp |
ホームボタンが真下 | :UIDeviceOrientationFaceDown |
全方向可能 | :UIInterfaceOrientationMaskAll |
横回転のみ可能 | :UIInterfaceOrientationMaskLandscape |
ホームボタンが上以外全て | :UIInterfaceOrientationMaskAllButUpsideDown |
また、下記で端末の向きを取得することができます。
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
これを元に、「orientation == UIDeviceOrientationPortrait」といった形で画面の向きを判定し、
画面の向きに応じた処理を行うこともできます。
既に、情報としては出ている内容ではありますが、みなさん参考にしてください。
ちなみに、iOS5で使用していた「shouldAutorotateToInterfaceOrientation」を削除してしまうと、
今度はiOS5で画面の回転がおかしくなるので、これは残しておいてください。
それにしてもAppleは相変わらず容赦ないよなーと。。。
Appleの土俵で制作している以上は仕方ない、と言っている人がいましたがその通りですね。。。
弊社では、サイト制作以外にもスマートフォンアプリの制作も行なっています。
サイトの制作依頼だけでなく、アプリの制作依頼もお待ちしています!
アプリ開発の第一歩
スマートフォン アプリ市場について調べてみました。
まちぽアプリがApple Watchに対応した理由
静岡の情報誌を作っている出版社がニュースアプリを作りました
静岡の情報誌を作っている出版社が電子書籍アプリを作りました
SwiftはObjective-Cを置き換えるか
スマートフォン アプリ市場について調べてみました。
まちぽアプリがApple Watchに対応した理由
静岡の情報誌を作っている出版社がニュースアプリを作りました
静岡の情報誌を作っている出版社が電子書籍アプリを作りました
SwiftはObjective-Cを置き換えるか
Posted by iA SEチーム at 15:59│Comments(0)
│iPhoneアプリ