在过去的一周中,我为解决如何显示和消除多个视图控制器问题而烦恼不已。我创建了一个示例项目,并直接从该项目中粘贴代码。我有3个视图控制器及其相应的.xib文件。MainViewController,VC1和VC2。我在主视图控制器上有两个按钮。
- (IBAction)VC1Pressed:(UIButton *)sender
{
VC1 *vc1 = [[VC1 alloc] initWithNibName:@"VC1" bundle:nil];
[vc1 setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentViewController:vc1 animated:YES completion:nil];
}
这将打开VC1,没有任何问题。在VC1中,我有另一个按钮应该打开VC2,同时关闭VC1。
- (IBAction)buttonPressedFromVC1:(UIButton *)sender
{
VC2 *vc2 = [[VC2 alloc] initWithNibName:@"VC2" bundle:nil];
[vc2 setModalTransitionStyle:UIModalTransitionStyleFlipHorizontal];
[self presentViewController:vc2 animated:YES completion:nil];
[self dismissViewControllerAnimated:YES completion:nil];
} // This shows a warning: Attempt to dismiss from view controller <VC1: 0x715e460> while a presentation or dismiss is in progress!
- (IBAction)buttonPressedFromVC2:(UIButton *)sender
{
[self dismissViewControllerAnimated:YES completion:nil];
} // This is going back to VC1.
我希望它返回到主视图控制器,同时应从内存中永久删除VC1。仅当我单击主控制器上的VC1按钮时,才会显示VC1。
主视图控制器上的另一个按钮也应该能够直接绕过VC1来显示VC2,并且在VC2上单击一个按钮时应回到主控制器。没有长时间运行的代码,循环或任何计时器。只需裸露电话即可查看控制器。
HUX布斯
慕田峪9158850
相关分类