UIDeviceOrientationDidChangeNotification返回错误的方向

时间:2014-03-17 13:11:30

标签: ios objective-c ios7 uiscrollview uideviceorientation

我有一个UIScrollView子视图,我必须更新方向更改的帧。我一直在iPhone模拟器上运行该程序,但看起来UIDeviceOrientationDidChangeNotification没有返回设备的正确方向。当我转到UIInterfaceOrientationPortrait时,它会返回UIInterfaceOrientationLandscapeLeft/Right,反之亦然。我没有正确使用它还是我必须使用其他一些处理方向改变的方法?

1 个答案:

答案 0 :(得分:2)

UIInterfaceOrientation!= UIDeviceOrientationUIInterfaceOrientation被声明为......

typedef enum : NSInteger {
   UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,
   UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
   UIInterfaceOrientationLandscapeLeft      = UIDeviceOrientationLandscapeRight,
   UIInterfaceOrientationLandscapeRight     = UIDeviceOrientationLandscapeLeft
} UIInterfaceOrientation;

...肖像包含相同的值/数字,但横向变体被交换等等。您没有显示您的代码,因此,我可以假设您将这两个事物混合在一起。

您有没有理由不使用willRotateTo...的{​​{1}},willAnimateRotation...didRotateFrom...方法?