如何删除以前的ViewController?

时间:2011-07-18 16:07:24

标签: objective-c xcode uiview viewcontroller

寻求帮助。

我的项目: 我为孩子们写了一本书。 每个页面都是自定义的ViewController。 在每个页面上我都有一个下一页和上一页的按钮。 当按下NextPage按钮时,我在AppDelegate中“切换”/添加一个ViewController,如下所示:

- (void)goToNextPage2 {
self.view2 = [[ViewController2 alloc] init];
view2.view.frame = CGRectMake(769, 0, 768, 1024);
[window addSubview:view2.view];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration:0.5];
view2.view.frame = CGRectMake(0, 0, 768, 1024);
[UIView commitAnimations];
}

我如何以及在何处删除之前的Viewcontroller? 在这种情况下,它将是ViewController1。 有什么想法吗?

提前致谢 Planky

1 个答案:

答案 0 :(得分:4)

您没有提供太多信息......
无论如何,这可能有所帮助。

在动画代码中:

[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];

并添加它以删除ViewController:

- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context
{
    [self.view1.view removeFromSuperview];
    self.view1 = nil;
}