1

嗨,我有这段代码...

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return YES;
}

- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{

  if(UIInterfaceOrientationIsPortrait(interfaceOrientation)){
    // WTF, this runs when I change to Landscape
  } else {
    // this runs when I change to Portrait??? shouldn't it be the contrary?
  }
}

如您所见,代码是反向运行的,我的意思是,当我将设备更改为纵向时应该运行的部分,代码的横向部分运行,反之亦然。

当我转动设备时,self.view 会旋转。

这是 UIInterfaceOrientationIsPortrait 测试界面在旋转之前的情况还是我错过了什么?

谢谢你的帮助。

4

1 回答 1

6

请注意,该方法名为 didRotate From InterfaceOrientation,因此该interfaceOrientation参数自然包含旧方向,而不是新方向。

于 2010-02-20T16:17:42.517 回答