Jac*_*cob 2 view objective-c subview ios
我试图添加一个子视图,然后还删除以前的视图.
这是我的代码的样子:
HowToPlay *LetsPlay = [[HowToPlay alloc] initWithNibName:@"HowToPlay" bundle:nil];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:[self view]
cache:YES];
[UIView commitAnimations];
MainViewController *ma = [[MainViewController alloc]init];
[ma.view removeFromSuperview];
[self.view addSubview:LetsPlay.view];
Run Code Online (Sandbox Code Playgroud)
Mainviewcontroller是其当前的视图.我希望它解除该视图,然后继续添加新视图LetsPlay.
此代码运行,并且它加载一个新视图,但是当我从LetsPlay加载另一个视图时,我可以看到mainviewcontroller仍然在它后面运行.我想永久地解雇它.
我甚至不确定我是否正确地进行此操作,所以如果我不能,请给我一个如何正确做到的例子.
谢谢 :)
你没有采用正确的方式:你正在创建一个MainViewController 的新实例(以及它的相关视图).然后,您尝试从其超级视图中删除这个新创建的视图(称之为instance2),而它甚至尚未添加到视图中(instance1具有).这就是你仍然看到mainviewcontroller的原因.
相反,您需要保持当前正在运行/活动的MainViewController.即你应该坚持该视图控制器的参考.然后,您可以在其视图上调用removeFromSuperview.
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
1181 次 |
| 最近记录: |