我正在开发一个应用程序,当设备旋转到横向时,该应用程序需要以横向显示封面流样式视图。我之前开发过一些应用程序,但它们都不需要横向/旋转,所以我没有经验。我有绘制 Coverflow 视图的代码,但证明它很困难。
我想要的基本上就像 iPod 应用程序在显示封面流时所做的那样。下面的视图不会旋转,但coverflow会在顶部淡入,并在旋转回纵向时淡出。
我猜这与 shouldAutorotateToInterfaceOrientation 和呈现淡入淡出过渡的模态视图有关,或者使用此处找到的技术:
我想我的主要问题是显示了模态视图,但它的内容没有旋转到横向。我该怎么办?
这是我现在使用的代码:
父视图
- (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;
}
模态视图
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
NSLog(@"rotating? going back?");
if ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight)) {
return YES;
} else {
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
return NO;
}