我正在编写一个创建子视图的应用程序,并将其添加到超级视图中,在子视图中执行它需要做的事情,以及何时执行:
[self.view removeFromSuperview];
然后按按钮再次转到第二个视图,活动将保留在上次我在子视图中的完成状态。也就是说,在子视图中它播放视频,当我第二次回来时,视频处于完成状态。
有谁能请告诉我如何重新初始化整个事情,以便它再次完成“viewDidLoad”?因为在我看来,它并没有“重新加载视图”。
这就是我在主视图中所做的。
-(IBAction) localize: (id) sender{
[self showSplash];
}
-(void) showSplash{
UIViewController *modalViewController = [[UIViewController alloc] init];
modalViewController.view = splash;
[self presentModalViewController:modalViewController animated:YES];
[self performSelector:@selector(hideSplash) withObject: nil afterDelay:2.5];
}
-(void) hideSplash{
[[self modalViewController] dismissModalViewControllerAnimated:NO];
[[self modalViewController] release];
[self.view addSubview:locatorView.view];
}
在“locatorViewController”viewDidLoad中,我正在初始化一个MPMoviePlayerController,并将其添加为主视图子视图的子视图。视频播放完毕后,我有一个按钮,允许用户返回并重试 - 可能会显示另一个视频。但是MPMoviePlayerController仍然是第一个视频。
答案 0 :(得分:1)
我会创建一个动作/方法来执行addsubview调用,就在该行之前,您可以初始化视频控制器。
只需创建另一个操作/方法即可执行removefromsuperview调用。
无论哪种方式,我相信您必须更具体地了解您正在做的事情,可能会发布您正在创建,添加,删除等的代码。您还要尝试添加什么类型的视图。根据我的假设,它可能是一个MPMoviePlayerViewController。