メイン フレームワークに 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 コードで呼び出されたもの) がウィンドウから削除されます。