我在iOS應用程序中有一個正常的故事板。它包含ViewController「A」和一個按鈕。當該按鈕被點擊,它加載的Cocos2D視圖 - 要做到這一點,我只是複製從默認AppDelegate中,當你創建一個新的Cocos2D項目,你得到的代碼:從ViewController中刪除Cocos2D
window_ = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
CCGLView *glView = [CCGLView viewWithFrame:[window_ bounds]
pixelFormat:kEAGLColorFormatRGB565
depthFormat:0
preserveBackbuffer:NO
sharegroup:nil
multiSampling:NO
numberOfSamples:0];
[glView setMultipleTouchEnabled:YES];
director_ = (CCDirectorIOS*) [CCDirector sharedDirector];
director_.wantsFullScreenLayout = YES;
[director_ setDisplayStats:YES];
[director_ setAnimationInterval:1.0/60];
[director_ setView:glView];
[director_ setDelegate:self];
[director_ setProjection:kCCDirectorProjection2D];
if(! [director_ enableRetinaDisplay:YES])
CCLOG(@"Retina Display Not supported");
[CCTexture2D setDefaultAlphaPixelFormat:kCCTexture2DPixelFormat_RGBA8888];
CCFileUtils *sharedFileUtils = [CCFileUtils sharedFileUtils];
[sharedFileUtils setEnableFallbackSuffixes:NO]; // Default: NO. No fallback suffixes are going to be used
[sharedFileUtils setiPhoneRetinaDisplaySuffix:@"-hd"]; // Default on iPhone RetinaDisplay is "-hd"
[sharedFileUtils setiPadSuffix:@"-ipad"]; // Default on iPad is "ipad"
[sharedFileUtils setiPadRetinaDisplaySuffix:@"-ipadhd"]; // Default on iPad RetinaDisplay is "-ipadhd"
[CCTexture2D PVRImagesHavePremultipliedAlpha:YES];
[director_ pushScene: [HelloWorldLayer scene]];
navController_ = [[UINavigationController alloc] initWithRootViewController:director_];
navController_.navigationBarHidden = YES;
[window_ setRootViewController:navController_];
[window_ makeKeyAndVisible];
這一切都非常好,它的工作原理像加載「HelloWorldLayer」時的魅力一樣。 但是,我似乎無法刪除這個「HelloWorldLayer」,並使應用程序回到使用故事板。 目前我在做以下我的「HelloWorldLayer」功能:
[[CCDirector sharedDirector].openGLView removeFromSuperview];
[[CCDirector sharedDirector] removeFromParentViewController];
[self removeFromParentAndCleanup:TRUE];
這非常適用於從字面上項目移除cocos2d的,但我不能挖掘視圖控制器「A」什麼我有後完成上述操作:按鈕不響應觸摸 - 就好像應用程序已凍結。
幫助將不勝感激!
PS:這裏是有問題的文件的鏈接:http://www.mediafire.com/?ipnlpinl5i0lw4a
也許你可以發佈一個示例項目,顯示問題的最簡單情況。 –
@GradyPlayer好主意! http://www.mediafire.com/?ipnlpinl5i0lw4a –