这是我的问题: - 我有一个navcontroller,里面有一个带有4个视图控制器的tabbar控制器。 - 我想添加以下功能: - 在landscapeRight上解除navcontroller,tabbar控制器和所有内容并加载整个新控制器 - 这个没问题,这是代码:
- (BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
MyAppDelegate *appDelegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];
// Just delete the lines for the orientations you don't want to support
if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) {
[appDelegate ToHorizontalAverageResponseView:self];
}
return YES;
}
以下是App Delegate中的代码:
- (void)ToHorizontalAverageResponseView:(id)sender
{
HorizontalResponseViewController *tempController = [[HorizontalResponseViewController alloc] initWithNibName:nil bundle:nil];
[self setHorizontalResponseViewController: tempController];
[tempController release];
//[UIApplication sharedApplication].statusBarOrientation = UIInterfaceOrientationLandscapeRight;
// View rotation transformation
CGAffineTransform landscapeTransform = CGAffineTransformMakeRotation( M_PI * 90.0 / 180.0 );
[[horizontalResponseViewController view] setTransform:landscapeTransform];
[window addSubview:[horizontalResponseViewController view]];
}
问题是如何转回纵向视图以及所有那些导航栏和标签栏控制器?
THX, 姆拉登纳莱
答案 0 :(得分:0)
听起来你正试图按照iPod-CoverFlow过渡的方式构建一些东西。在斯坦福大学的CS193P讲座中提出了关于如何建立覆盖流效应的问题,答案暗示了以下方向:
如果你能承受内存开销,最好在所有的肖像视图之上添加一个新的横向视图(不要像你的建议那样丢弃它们)。然后,用户根据需要与此横向视图交互,直到回到纵向。一直以来,肖像画一直在背景中静静地看着。