我有三个视图控制器和三个不同的XIB,让我们说ViewControllerA,ViewControllerB和ViewControllerC,每个视图控制器都有UIView变量名为view in the property&property。所以它会是这样的:
@property (readwrite, retain) UIView *view;
首先,场景ViewControllerA加载,然后我触摸ViewControllerB的按钮场景后出现。但我故意不从超级视图中删除ViewControllerA的UIView。 然后在我触摸按钮后,场景导航到ViewControllerC。在这里,在导航到ViewControllerC之前,我希望从超级视图中删除ViewControllerA和ViewControllerB的UIView
删除ViewControllerB的UIView不是问题,我可以在ViewControllerB方法中做这样的事情:
[self.view removeFromSuperview];
但是如何删除ViewControllerA的UIView?
感谢
答案 0 :(得分:0)
如果您想完全独立于其他视图控制器,可以在appDelegate.window.rootViewController中切换它们。只创建指向UIApplication的变量appDelegate。
并自己处理动画。
示例:
AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
UIViewController *controller1 = [ViewControllerA alloc] initWithNibName:@"ViewControllerA" bundle:nil];
UIViewController *controller2 = [ViewControllerB alloc] initWithNibName:@"ViewControllerB" bundle:nil];
appDelegate.window.rootViewController = controller1;
appDelegate.window.rootViewController = controller2;