我正在使用Cocos2D作为我的主框架。在某些情况下,我希望Cocos2D加载一个nib文件并将其作为视图:
window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
TargetPlayerViewController *myController = [[TargetPlayerViewController alloc]initWithNibName:@"TargetPlayerViewController" bundle:nil];
[window addSubview:[myController view]];
[window makeKeyAndVisible];
这可以按预期工作,并显示TargetPlayerViewController
。精彩!
我需要知道的是:一旦加载了该视图,我怎样才能让视图自行删除?我尝试了几种不同的方法,但所有方法都会导致程序崩溃。
要测试我在视图设置上有一个按钮,它会触发此方法:
- (IBAction)GTFOnow:(id)sender {
NSLog(@"GFTO");
//window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
//[self.view removeFromSuperview];
//[window makeKeyAndVisible];
}
GTFOnow是TargetPlayerViewController中的一个方法。调用时,应从窗口中删除当前子视图(在上面的Cocos2D代码中调用)。
答案 0 :(得分:0)
首先,您不应仅仅因为要删除子视图而创建新窗口。其次,无论发生什么,这都不应该导致应用程序崩溃。您在哪个班级使用GTFOnow
方法?我想在TargetPlayerViewController
班?