iOS界面跳轉--移去中間的VC(push)

假設NavigationController有ABC三個ViewController,
A push B, B push C
要求C返回的時候直接返回A,即移除B。
(popToRoot不予考慮,A之前可能還有其他的)

方案一:pop后再push

UINavigationController *navController = self.navigationController; [navController popViewControllerAnimated:NO]; [navController pushViewController:vc animated:YES];

缺點:動畫過程中會看到B被A替換,然后C在右邊滑入

方案二:修改viewControllers數組

NSMutableArray* navArray = [[NSMutableArray alloc] initWithArray:self.navigationController.viewControllers]; [navArray replaceObjectAtIndex:[navArray count]-1 withObject:nextViewController]; [self.navigationController setViewControllers:navArray animated:YES];

看不到B被A替換的過程,用戶完全無感知。666

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容