2014-10-10 49 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]; 
相关问题