一个dimiss 和 push 同用逻辑
业务逻辑:
1> a present b(nav),
2> dismiss b immediately,then using a push c,
3> c pop to a;
逻辑 demo 参考图
重点问题,dimiss 和 push 不能同时开启动画,否则无效
//无效代码
[bVc dismissViewControllerAnimated:YES completion:^{
CController *C = [[CController alloc] init];
[weakSelf.navigationController pushViewController:C animated:YES];
}];
//正常代码
[bVc dismissViewControllerAnimated:NO completion:^{
CController *C = [[CController alloc] init];
[weakSelf.navigationController pushViewController:C animated:YES];
}];
但是因为 dismiss 的动画为 NO,所以在 push cVc 时候,会先显示 aVc 的界面,此处使用一个常用办法处理该界面显示突兀问题,使用截屏方法,将带有 bVc 的截屏图覆盖在 aVc 上,这样过度就不会出现奇怪的感觉