私は iOS 5.0 でプロジェクトを開始しました. iOS 6 に更新されました. オリエンテーションで問題に直面しています. テストするためにサンプルアプリケーションを作成し、デリゲートに次のコードを追加しました.
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
return UIInterfaceOrientationMaskAll;
}
そして、私のView Controllerでは、次のメソッドを実装しました...
-(NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskLandscape;
}
-(BOOL)shouldAutorotate
{
return YES;
}
iOS 6.0 について Google で検索した後に行った上記のすべては、アプリケーションをロードするときに、supportedInterfaceOrientations ビューで指定されたオプションに基づいてロードされますが、デバイスの向きを変更すると、ビューがそれに応じて変化しませんデバイスの向きに基づいてビューを変更するにはどうすればよいですか?
NSNotificationCenter *notificationCenter = [NSNotificationCenter defaultCenter];
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[notificationCenter addObserver:self
selector:@selector(deviceOrientationDidChange)
name:UIDeviceOrientationDidChangeNotification object:nil];
上記のようにオブザーバーを追加し、プログラムで変更する必要がありますか? または、デバイスの向きを検出してビューが自動的に変更されますか?