0

UIInterfaceOrientationが常に右に戻るのはなぜですか?
回転を終えると、常に右側で終わります、なぜですか?
PS:私はただ風景にしたいです

ここにコードがあります

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    switch (interfaceOrientation)
    {
       case UIInterfaceOrientationLandscapeLeft:
          NSLog(@"Is Left");
       case UIInterfaceOrientationLandscapeRight:
          NSLog(@"Is Right");
       default: ;
    }

    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation
{
    switch (fromInterfaceOrientation)
    {
        case UIInterfaceOrientationLandscapeLeft:
          NSLog(@"From Left");
        case UIInterfaceOrientationLandscapeRight:
          NSLog(@"From Right");
        default: ;
    }
}

これがログです

2012-08-23 17:45:28.074 Simulador 360[323:707] Is Right
2012-08-23 17:45:28.126 Simulador 360[323:707] Is Right
2012-08-23 17:45:28.131 Simulador 360[323:707] Is Left
2012-08-23 17:45:28.132 Simulador 360[323:707] Is Right
2012-08-23 17:45:28.138 Simulador 360[323:707] Is Left
2012-08-23 17:45:28.140 Simulador 360[323:707] Is Right
2012-08-23 17:45:31.160 Simulador 360[323:707] Is Right
2012-08-23 17:45:31.167 Simulador 360[323:707] Is Right
2012-08-23 17:45:31.977 Simulador 360[323:707] From Left
2012-08-23 17:45:31.980 Simulador 360[323:707] From Right
2012-08-23 17:45:35.684 Simulador 360[323:707] Is Left
2012-08-23 17:45:35.687 Simulador 360[323:707] Is Right
2012-08-23 17:45:35.691 Simulador 360[323:707] Is Left
2012-08-23 17:45:35.693 Simulador 360[323:707] Is Right
2012-08-23 17:45:36.502 Simulador 360[323:707] From Right
4

1 に答える 1

0

ステートメントbreakに sがありません。switchを呼び出さないとbreak、次のケースまで実行が続行されるため、インターフェイスの向きが左と評価されたケースの場合、左と右の両方のケース ブロックが実行されます。

break各ケースの最後に挿入して、これを修正します。

switch (interfaceOrientation)
{
   case UIInterfaceOrientationLandscapeLeft:
      NSLog(@"Is Left");
      break;
   case UIInterfaceOrientationLandscapeRight:
      NSLog(@"Is Right");
      break;
   default: ;
}
于 2012-08-23T21:14:54.083 に答える