視圖控制器之間是以棧的形式來管理視圖控制器容積的生命周期和出棧順序物邑,以先進(jìn)后出的方式溜哮。
當(dāng)之前的視圖控制器是推進(jìn)到后續(xù)加入的視圖控制器中滔金,可以使用
[self.navigationController. pushViewController:exampleVC. animated:YES];
的形式來展示,
其實我們使用的模態(tài)化推出的視圖控制器是將當(dāng)前的視圖控制器推送到了視圖控制器的最外圍茂嗓,也就是將對應(yīng)的視圖控制器置于棧頂餐茵。
當(dāng)后續(xù)的視圖控制器,由后進(jìn)的視圖控制器返回到先入的視圖控制器時述吸,可以使用以下的方式:
[self.navigationController.viewControllers enumerateObjectsUsingBlock:^(__kindof UIViewController * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj class] == [LDCompactDownLoadTemplateViewController class]) {
LDCompactTemplateViewController *downLoadVC = self.navigationController.viewControllers[idx];
[self.navigationController popToViewController:downLoadVC animated:YES];
}
}];