1

我的委托上有两个选项卡控制器,我想根据需要切换它们。RootController 显示为默认值,当我想显示我使用的另一个类的 secondController 时,

    myAppDelegate *appDelegate = (myAppDelegate *)[[UIApplication sharedApplication] delegate];
    [appDelegate.window addSubview:appDelegate.secondController.view];
    [appDelegate.rootController.view removeFromSuperview];

问题是当我尝试使用相同的方法返回时。由于错误访问异常导致崩溃...

  myAppDelegate *appDelegate = (myAppDelegate *)[[UIApplication sharedApplication] delegate];   
    [appDelegate.window addSubview:appDelegate.rootController.view];
    [appDelegate.secondController.view removeFromSuperview];  

任何帮助,将不胜感激。谢谢你。

4

1 回答 1

2

您不应该从 Superview 中删除 rootController。删除该行

[appDelegate.rootController.view removeFromSuperview]; 

当你想回到你的 rootController 时,只需添加以下几行:

myAppDelegate *appDelegate = (myAppDelegate *)[[UIApplication sharedApplication] delegate];
[appDelegate.secondController.view removeFromSuperview];
于 2012-04-28T19:05:16.880 回答