检测子类的方向更改的持续时间? IOS 7

时间:2013-12-17 22:01:22

标签: ios ios7 uiinterfaceorientation nsnotificationcenter

我正在创建一个UIScrollView子类,需要在设备方向更改时运行动画。为了做到这一点,我需要知道方向变化的确切持续时间。在一个视图控制器中我会使用它:

-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    NSLog(@"%f", duration);
}

由于这是在子类中,我需要使用以下代码:

    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(orientationChanged:)
                                                 name:UIDeviceOrientationDidChangeNotification
                                               object:nil];

然后调用选择器:

-(void)orientationChanged:(id)selector
{
    NSLog(@"Orientation has changed");
}

唯一的问题是它没有告诉我设备方向的持续时间。有谁知道如何获得它?

1 个答案:

答案 0 :(得分:2)

您正在寻找的属性是UIApplication的statusBarOrientationAnimationDuration。这是90°旋转 - 如果你处理的是180°旋转,它会加倍。