サポートされているインターフェイスの向きを、配置情報の下で逆さまの縦向き以外のすべてに設定しました。
カスタム動作のために shouldAutorotateToInterfaceOrientation: をオーバーライドしたいと思います。(つまり、条件に応じてランドスケープをサポートします)
制約 (カスタマイズされたビュー遷移) により、ビューコントローラーは 1 つしかありません。
これは私のappdelegateのコードがどのように見えるかです:
self.viewController = [[MyController alloc]initWithNibName:nil bundle:nil];
self.window.rootViewController = self.viewController;
[self.window makeKeyAndVisible];
return YES;
myController.m では、shouldAutorotateToInterfaceOrientation をオーバーライドします。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
return YES;
}
アプリケーションはすべての向きに自動回転しますが、縦向きが逆になり、コールバックが呼び出されることはありません。shouldAutorotateToInterfaceOrientation: at runTime からの変更リターンで提案を試みましたが、成功しませんでした。なぜ?
ちなみに、実行時に回転サポートを変更する最良の方法は何ですか?
アップデート:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
呼ばれます。入れてみました
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait];
成功しませんでした:(