-2

重複の可能性:
iOS 6 shouldAutorotate:呼び出されていません

ユーザーがいつ向きを変えるかを知る方法が必要です...

私が試してみました

-(BOOL) shouldAutorotate { //never called

UIInterfaceOrientation toInterfaceOrientation = [[UIDevice currentDevice] orientation];
if(toInterfaceOrientation == UIInterfaceOrientationPortrait)
    //a code here

return YES;
}

ユーザーがiPadの向きを変更したことをどのように知ることができますか?

4

2 に答える 2

2

でサポートされている向きを設定することを忘れないでくださいinfo.plist

使ってみて

  - (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration;
  - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation;

(iOS 6.0 では非推奨)

  - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation;
于 2012-12-03T15:46:30.877 に答える
0

これを最初に呼び出すようにしてください。

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];

次に、ここで方向の変更を追跡します。

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    //your code here 
}

ここでの期間は重要です。これは、方向の変更が完了するまでにかかる時間です。新しい方向が完全に設定されるのはこの時点だけです

于 2012-12-03T15:50:02.537 に答える