0

私はARCベースのプロジェクトに取り組んでいます。私のプロジェクトはiOS 4.3をターゲットにしています

私のビューの 1 つに縦方向。以下は私にはうまくいかないようです。

[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];

これについて何か助けはありますか?

4

1 に答える 1

1

まず、方向をサポートする必要がある viewController は、サポートされている方向を渡す以下のメソッドを実装する必要があります。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation

後で手動でビューを回転させるには、デバイスの向きを直接使用して設定します

[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait];

これがうまくいかない場合は

[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:YES];

これで設定方向に対して NO を返すと、shouldAutoRotate機能しない可能性があることに注意してください。また、ios5とios6の両方でこれを確認してください。ios5で試しました。

編集:setOrientation存在しないiOS5またはiOS6の場合

[[UIDevice currentDevice] performSelector:NSSelectorFromString(@"setOrientation:") withObject:(id)UIInterfaceOrientationPortrait];

これは問題なく動作しますが、現在はプライベート API である可能性があります。

于 2012-10-17T07:32:45.150 に答える