2015-09-04 111 views
0

我提出一個教程認爲,從AppDelegate中:解聘的viewController從AppDelegate中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

.... 

    EERootVC *rootVC = (EERootVC *)self.window.rootViewController; 
    UINavigationController *navcon = (UINavigationController*)rootVC.contentViewController; 

    EETutorialRootVC *rootTutorialViewController = [rootVC.storyboard instantiateViewControllerWithIdentifier:@"EETutorialRoot"]; 

[navcon pushViewController:rootTutorialViewController animated:NO]; 

return YES 
} 

我怎麼能開除一旦完成了這個新的看法?

我已經試過這樣:

[self.navigationController popViewControllerAnimated:YES]; 

其中一期工程,但鑑於它返回到似乎被切斷(移?)

回答

0

它不會是self因爲在調用selfAppDelegate被引用本身(這將是AppDelegate

如果你想從AppDelegate你只需做同樣的事情駁回你沒有提出它:

[rootTutorialViewController popViewControllerAnimated:YES]; 

但你更可能不會關閉它在AppDelegate,你更多的則可能將關閉它在視圖控制器主類,這是您將調用自

0

嗯,它似乎你使用了一些你必須提供洞察力的自定義設置,所以我們可以給你一個更好的答案。

如果你的window.rootViewController是UINavigationController的一個實例,你會有非常的默認行爲,如果你推動並彈出ViewControllers,一切都會看起來不錯。

但是你從window.rootViewController的自定義屬性中獲得了UINavigationController。這表明EERootVC是一些自定義的ContainerViewController,我的下注是在你添加EERootVC.contentViewController到它的視圖並設置它的框架的地方出了問題。

例如,將UINavigationController設置爲Window的rootViewController,我敢打賭它的工作原理也是如此。

除此之外,你沒有動畫推動它,並用動畫消除它。爲了獲得良好的用戶體驗,您可能需要再次考慮這種方法。

相關問題