UIDeviceOrientationDidChangeNotification适用于iDevice 4及以下但不适用于iDevice 5

时间:2013-01-02 17:15:15

标签: iphone ios6 uiinterfaceorientation ipod-touch

花花公子!

需要一些紧急的见解。 我的问题是,即使iPhone 4 / 4S和iPod 4上的测试在这里使用此代码正常旋转:

- (void)initNotifications
{
    [[NSNotificationCenter defaultCenter] postNotificationName:@"setFreeOrientation" object:nil];

    [[UIDevice currentDevice]beginGeneratingDeviceOrientationNotifications];
    [[NSNotificationCenter defaultCenter]addObserver:self
                                            selector:@selector(didRotate:)
                                                name:UIDeviceOrientationDidChangeNotification
                                              object:Nil];
}

-(void)didRotate:(NSNotification*)notification
{
    [super rotateTopBars];
    [super rotateOptionsBar];
    [self rotateControlBar];
    [self rotatePlayer];
    [super rotateShareLayer];
}

但我正在iPod 5上进行测试,但它不起作用。 尝试了一些东西,但直到现在都没有运气。

欢呼声。

1 个答案:

答案 0 :(得分:6)

我与UIDeviceOrientationDidChangeNotification有类似的问题,它在一台设备上运行良好,但在另一台设备上运行良好。经过一些调试后,我意识到我在设备上锁定了纵向方向,这导致UIDeviceOrientationDidChangeNotification根本没有触发。不确定这是否是你的问题,但它很容易被忽视,值得检查。

Portrait Orientation Locked