關(guān)于iOS 返回功能有幾種情況呜呐,這里只說(shuō)navigation的前提下
- 返回按鈕
- 點(diǎn)擊返回按鈕,默認(rèn)返回上一級(jí)控制器
[self.navigationController popViewControllerAnimated:YES];
- 點(diǎn)擊返回按鈕纷铣,返回到指定控制器
for (UIViewController *controller in self.navigationController.viewControllers) {
if (controller isKindOfClass:[XXViewController Class]) {
[self.navigationController popToViewController:controller animated:YES];
return;
}
}
- 點(diǎn)擊返回按鈕卵史,返回到根控制器
[self.navigationController popToRootViewControllerAnimated:YES];
- 滑動(dòng)返回到指定控制器
因?yàn)榛瑒?dòng)返回默認(rèn)是返回到上一級(jí)控制器战转,想要返回到指定控制器搜立,要么關(guān)閉滑動(dòng)返回手勢(shì)
self.navigationController.interactivePopGestureRecognizer.enabled = NO;
要么把沒(méi)用的控制器移除,把需要返回的控制器變成上一級(jí)
for (UIViewController* controller in self.navigationController.viewControllers) {
if ([controller isKindOfClass:[AAAViewController Class]]) {
[controller removeFromParentViewController];
}
if ([controller isKindOfClass:[BBBViewController Class]]) {
[controller removeFromParentViewController];
}
}
這是在滑動(dòng)返回槐秧,上一級(jí)就變成了我們需要返回的頁(yè)面了