今天寫一個(gè)簡(jiǎn)單的小demo,可能對(duì)很多大神來說,這都是小兒科,但是如果剛開始學(xué)習(xí)的話,還是會(huì)稍微糾結(jié)一下,就當(dāng)是記錄一下吧.
很多時(shí)候,我們會(huì)從第一個(gè)界面一直push到第二個(gè),第三個(gè),第四個(gè)......,但是回退的時(shí)候如果一個(gè)一個(gè)的回退回來就會(huì)有些尷尬了,這個(gè)時(shí)候我們可以讓界面回退到指定的界面,這樣看起來就會(huì)輕便的多.
第一個(gè)方法,大家都知道,就是
[self.navigationController popToRootViewControllerAnimated:YES];
這個(gè)就是從當(dāng)前界面返回到跟控制器的方法,但是當(dāng)你想從當(dāng)前界面返回到中間的任意一個(gè)界面時(shí),這個(gè)方法就不適合.
可以用下面的方法
//回退到指定界面
UINavigationController *naviVc = self.navigationController;//self.navigationController表示本界面
NSMutableArray *viewControllers = [[NSMutableArray alloc] init];//初始化一個(gè)vc的數(shù)組,用于存放跳轉(zhuǎn)本界面以來的所有vc
for (UIViewController *vc in [naviVc viewControllers]) {//遍歷一路跳轉(zhuǎn)到本界面以來的所有界面
[viewControllers addObject:vc];//將遍歷出來的界面存放入數(shù)組
//判斷要回退的指定界面是否與遍歷的界面相同,ZYYSeconedViewController也可以替換為ZYYThirdViewController
if ([vc isKindOfClass:[ZYYSeconedViewController class]]) {
[self.navigationController popToViewController:vc animated:YES];//執(zhí)行回退動(dòng)作
}
}
此方法就可以退回到任意一個(gè)界面.
想看實(shí)際效果的,可以查看一下小demo iOS回退到指定界面的demo