3

Я работаю над приложением, которое должно отображать вид в стиле покрытия в ландшафте, когда устройство поворачивается в альбомную ориентацию. Раньше я работал над несколькими приложениями, но ни один из них не требовал пейзажа/вращения, поэтому я не испытывал этого. У меня есть код, чтобы нарисовать вид покрытия, но представление его оказалось трудным.Как отобразить вид стиля ландшафтного покрытия, когда устройство повернуто?

Что бы я хотел, в основном, это то, что делает приложение iPod при отображении обложки. Вид снизу не вращается, но потолок скрывается сверху и исчезает при повороте назад к портрету.

Я предполагаю, что это что-то делать с shouldAutorotateToInterfaceOrientation и модальным зрением представляется с переходом к выцветанию, или с использованием техники здесь:

http://www.iphonedevsdk.com/forum/iphone-sdk-development/22285-replicating-cool-ipod-landscape-transition-iphone.html

Я думаю, что моя основная проблема заключается в том, что модальный представлен вид, но его содержимое не поворачивается к пейзажу. Что мне делать?

Вот код, я использую в настоящее время:

РОДИТЕЛЕЙ VIEW

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{ 
NSLog(@"rotating?"); 
if (interfaceOrientation == UIInterfaceOrientationPortrait) { 
    return YES; 
} 
if ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight)) { 
    NSLog(@"rotating"); 
    CoverFlowViewController *coverFlowView = [[CoverFlowViewController alloc] init]; 
    [coverFlowView setModalTransitionStyle:UIModalTransitionStyleCrossDissolve]; 
    [self presentModalViewController:coverFlowView animated:YES]; 
    [coverFlowView release]; 
} 
return YES; 

}

MODAL VIEW

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
NSLog(@"rotating? going back?"); 
if ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight)) { 
    return YES; 
} else { 
    [self.parentViewController dismissModalViewControllerAnimated:YES]; 
} 
return NO; 

}

+0

Я хотел бы также знать это ... –

ответ

1

Вы должны сделать переход внутри:

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { 

} 

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

  • Нет связанных вопросов^_^