2013-12-17 1 views
0

Я создаю подкласс UIScrollView, который должен запускать анимацию при изменении ориентации устройства. Для этого мне нужно знать точную продолжительность изменения ориентации. В контроллере представления, я бы просто использовал это:Определить продолжительность изменения ориентации для подкласса? iOS7

-(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"); 
} 

Единственная проблема заключается в том, что он не говорит мне о длительности ориентации устройства. Кто-нибудь знает, как это получить?

ответ

2

Недвижимость, которую вы ищете, - это statusBarOrientationAnimationDuration UIApplication. Это для 90-градусного поворота, если вы используете 180 °.