Iphone 是否应连续多次调用AutoRotateTointerFaceOrientation而不进行任何旋转

Iphone 是否应连续多次调用AutoRotateTointerFaceOrientation而不进行任何旋转,iphone,iphone-sdk-3.0,ipad,Iphone,Iphone Sdk 3.0,Ipad,我正试图在我的应用程序中实现一些基于设备旋转的界面更改 我的应用程序是基于视图的应用程序。因此,它的主视图控制器具有didload方法 该应用程序以纵向模式启动。几乎所有对设备方向的更改都会触发shouldAutorotateToInterfaceOrientation方法,但当设备从任何横向方向放置到纵向位置后,不会调用此方法 调试应用程序时,我放置了一个 NSLog(@"orientation=%d", interfaceOrientation); 在我的shouldAutorotateT

我正试图在我的应用程序中实现一些基于设备旋转的界面更改

我的应用程序是基于视图的应用程序。因此,它的主视图控制器具有didload方法

该应用程序以纵向模式启动。几乎所有对设备方向的更改都会触发shouldAutorotateToInterfaceOrientation方法,但当设备从任何横向方向放置到纵向位置后,不会调用此方法

调试应用程序时,我放置了一个

NSLog(@"orientation=%d", interfaceOrientation);
在我的shouldAutorotateToInterfaceOrientation方法中,我看到的非常奇怪:

  • 当我运行应用程序时,shouldAutorotateToInterfaceOrientation在应用程序界面出现之前被调用了6次。每次运行时,它都会报告不同的方向编号:它在控制台上报告的顺序是:纵向、纵向、纵向、横向右侧、横向左侧、倒置)(??)
在此期间,应用程序才刚刚开始。调试器报告来自应用程序代理的所有6个调用

因此,问题来了:

  • 当设备进入纵向时,为什么不调用AutoRotateTointerFaceOrientation
  • 为什么代理在应用程序可见之前调用此方法6次,特别是在没有进行旋转的情况下

  • 谢谢。

    系统正在缓存响应,以便它知道要尝试和检测的方向。

    系统正在缓存响应,以便它知道要尝试和检测的方向。

    似乎说此方法返回一个值“指示视图控制器是否支持指定的方向”

    它并没有承诺设备现在正在/没有旋转,它只是查询看看你的控制器可以支持什么方向。因此声明:

    视图控制器要么能够支持给定的方向,要么不能

    似乎是说此方法返回一个值“指示视图控制器是否支持指定的方向”

    它并没有承诺设备现在正在/没有旋转,它只是查询看看你的控制器可以支持什么方向。因此声明:

    视图控制器要么能够支持给定的方向,要么不能