2013-08-22 2 views
0

Мне НУЖНО: программно отключайте устройство от портрета к ландшафту, совместимого с iOS6 и iOS5.
ПРОБЛЕМА: Я не могу использовать функцию [UIDevice setOrientation] на ios6.изменить ориентацию устройства, совместимую с ios6 и ios5

ЧТО Я ИМЕЮ: код для iOS6:

- (BOOL) shouldAutorotate 
{ 
    return YES; 
} 

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation 
{ 
    return UIInterfaceOrientationLandscapeLeft; 
} 

код для iOS5:

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

Итак, мне нужно написать код, который вращаются на iOS5:

-(void)viewWillAppear:(BOOL)animated 
    { 
     [super viewWillAppear:animated]; 

     // [[UIDevice currentDevice] setOrientation] - I cannot use it 
     // ??? 
    } 

ответ

0

Я достиг этого путем установки ориентации строки состояния, попробуйте выполнить код:

[[sharedApplication] setStatusBarHidden:YES]; 
[[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight]; 

и когда вам нужен портретный режим, установите строку состояния на setStatusBarHidden:NO и снова установите ориентацию статусной панели на портрет UIInterfaceOrientationPortrait.

Смежные вопросы