shouldAutorotateToInterfaceOrientation在启动时调用两次

时间:2012-12-19 10:40:45

标签: objective-c ios cocoa-touch screen-orientation uiinterfaceorientation

我正在开发iOS 5目标项目。我的定位方法如下。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{    
  NSLog(@" My Orientation");

  return YES;
}

但是,当我的应用程序启动时,我的日志消息将在控制台上显示两次,即我的Orientation将显示两次。我正在模拟器中测试我的应用程序,这只是在发布时发生,甚至没有更改orientation,然后再次更改方向。即,

(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

每次被调用两次,我认为这不是一个正确的行为。任何帮助都是

理解。

2 个答案:

答案 0 :(得分:1)

这不是你做的。 Apple已经让设备多次做出反应。这取决于应用程序正在做什么。也许视图加载或其他东西会导致它再次触发。但是,这真的是一个问题吗?在大多数情况下,它不是(或者至少不应该)。

如果确实存在问题,那么也许有人应该详细说明。但是,至少根据我的经验,这是常见的行为。我不知道有什么方法可以解决这个问题。

我想如果这真的困扰你并且没有办法解决,你可以向Apple提交一个错误。

答案 1 :(得分:0)

我也经历过shouldAutoRotateToInterfaceOrientation总是两次来自calles的经历。 有趣的细节:我的经验是,第一次调用中的self.view.frame保存“旧”值(来自它的位置),第二次调用“new”值(它来自哪里)