我有以下问题。我想从一个视图转到另一个视图,而不是使用按钮,而是编写代码。我有一个观点,其中有一些按钮。当我按其中一个运行if - else时。从别的我想去另一种观点。如何以编程方式在视图之间切换?
我已经试过这
GameOverViewController *gOver = [[GameOverViewController alloc]initWithNibName:@"GameOverViewController" bundle:nil];
[self.view removeFromSuperview];
gOver.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController:gOver animated:YES];
这
GameOverViewController *gOver = [[GameOverViewController alloc]initWithNibName:@"GameOverViewController" bundle:nil];
[self.view removeFromSuperview];
[self.view insertSubview:gOver.view atIndex:0];
这
GameOverViewController *gOver = [[GameOverViewController alloc]initWithNibName:@"GameOverViewController" bundle:nil];
[self.view removeFromSuperview];
[self.view addSubview:gOver.view];
,但毫无效果。有任何想法吗 ?
我也试过这种对
[self presentModalViewController:gOver animated:YES];
[self.view insertSubview:gOver.view atIndex:0];
[self.view addSubview:gOver.view];
感谢
GameOverViewController *gOver = [[GameOverViewController alloc]initWithNibName:@"GameOverViewController" bundle:nil];
[self.view setHidden:YES];
[self.navigationController pushViewController:gOver animated:NO];
抛出exeption提前
presentModelViewController应该工作酥料饼。在self.view已从其超级视图中移除后,您是否可以使用[self presentModalViewController],这只是一个好主意。你为什么这样做?当你想摆脱作为一个视图控制器的自我,那么你应该相应地解雇它。在适当的地方,您在那里关闭当前的视图控制器,那么您应该展示新的视图控制器 - 只有在您确实需要避免堆叠两个视图控制器时才需要。 – 2012-07-23 14:08:04
难道你不应该将视图添加到已经从视图中移除的视图吗(这有点奇怪,但无论如何),只需用gOver.view替换视图? – boubou 2012-07-23 14:12:19