2014-10-10 55 views
0

我有一個UINavigationViewController具有的UITableViewController如根視圖。當用戶選擇的單元格的的UIViewController在推。與當前的UIViewController推UINavigationViewController(僅示出一個動畫)

我的主要的UIViewController有一個按鈕,呈現UINavigationViewController模態,但我也有另一個按鈕,我想用直接進入一推送UIViewControllerUINavigationViewController

通過使用下面的代碼,既動畫所示,UINavigationViewController首先發生,並且當完成了的UIViewController發生。

UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; 
UINavigationController *navController = [mainStoryboard instantiateViewControllerWithIdentifier: @"SettingsNavigationController"]; 

UIViewController *viewController = [mainStoryboard instantiateViewControllerWithIdentifier: @"MyInfoViewController"]; 


[self presentViewController:navController 
        animated:YES 
       completion:^ 
{ 
    [navController pushViewController:viewController animated:YES]; 
}]; 

這看起來不錯,但我想要的是顯示推的UIViewController只有1動畫(或者即使沒有動畫),就好像我的主要觀點呈現,但保持功能的時候用戶按回這個UIViewController它回到UINavigationViewController

如果我同時設置「動畫」爲NO,的UIViewController顯示相當快,但UINavigationViewController的一目瞭然仍然可以看到。

發生給我一個可能的解決辦法是採取主視圖的「快照」,並把它傳遞給UINavigationViewController用它來隱藏其內容,而想的UIViewController出現。

注:應適用於iOS的7,沒有動畫之前呈現導航控制器8

回答

1

推視圖控制器。

+0

這麼簡單,謝謝 – Pochi 2014-10-10 09:00:58

1
UIStoryboard *mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle: nil]; 
UINavigationController *navController = [mainStoryboard instantiateViewControllerWithIdentifier: @"SettingsNavigationController"]; 

UIViewController *viewController = [mainStoryboard instantiateViewControllerWithIdentifier: @"MyInfoViewController"]; 

[navController pushViewController:viewController animated:NO]; 

[self presentViewController:navController animated:YES completion:nil]; 
相關問題