iOS 模态(presentVC)之后,执行push的问题

从一个控制器A模态到另一个控制器B,再从Bpush到另一个控制器C,但是按照通常的方法,模态到B之后,就push不到C了,这个是因为B控制器不是导航控制器的根控制器或子控制器。只有当前控制器在导航控制器栈中才可以使用push到导航其它视图,所你必须把B加入到导航控制器中,才能用来push 其他视图。

在A的控制器里模态到B
(如果需要设置模态全屏显示的话 需要 设置 navVc)

UINavigationController* navVc = [[UINavigationController alloc] initWithRootViewController:A]; 
navVc.modalPresentationStyle = UIModalPresentationOverCurrentContext|UIModalPresentationFullScreen;
[self presentViewController: navVc animated:YES completion:nil];

再从B控制器push 到C控制器

[self.navigationController pushViewController:C animated:YES];

需要注意的是. 在C的页面 继续push D的话, C 和D都是在模态层上, 可以通过dismiss 整个关闭 模态层

你可能感兴趣的:(iOS 模态(presentVC)之后,执行push的问题)