2012-08-23 19 views
0

为什么UIInterfaceOrientation总是返回正确的?
当我完成旋转时,总是在右边结束,为什么?
PS:我只想景观

下面是代码为什么UIInterfaceOrientation总是返回正确的?

- (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: ; 
    } 
} 

这里是LOG

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 

回答

0

你缺少break在你switch语句。在不调用break的情况下,执行将继续执行到下一个案例,所以如果您的案例中的界面方向评估为左侧,则将执行左侧和右侧大小写块。

修复此通过在您的每一个案件的末尾插入break

switch (interfaceOrientation) 
{ 
    case UIInterfaceOrientationLandscapeLeft: 
     NSLog(@"Is Left"); 
     break; 
    case UIInterfaceOrientationLandscapeRight: 
     NSLog(@"Is Right"); 
     break; 
    default: ; 
} 
+0

我发现,当我看到它在devblog网站奇怪。有些东西我仍然习惯于Objective-C。感谢您的时间来纠正我的错误,毛病! –

相关问题