?一瞻离、如何判斷是從哪個控制器push進來的
遵循代理方法:<UINavigationControllerDelegate>
實現(xiàn)代理方法:
? ? ? ?- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {
? ? ? ? ? ?// 判斷類型
? ? ? ?? ? if (viewController isKindOfClass:[MyViewController Class]){
? ? ? ? ? ?//? ?Todo Code
? ? ? ? ? }
}
當然還有更多的方法判斷
例如獲取最后一個控制器:
self.navigationController.viewControllers.lastObject
二躺涝、返回指定控制器
1伟骨、返回到上一個控制器視圖
? ? ? ? [self.navigationController popoverPresentationController];
?2饮潦、返回到上上個控制器視圖
? ? ? ? NSArray * viewControllers? = self.navigationController.viewControllers;
? ? ? ? UIViewController * viewController = [viewControllers objectAtIndex:viewControllers.count - 1];
3、返回到指定控制器
? ? ? ??NSArray * viewControllers = self.navigationController.viewControllers;
? ? ? ??for (UIViewController * item in viewControllers) {
? ? ? ??? ? ? ? if (item isKindOfClass:[MyViewController Class]) {
? ? ? ??? ? ? ? ? ? [self.navigationController popToViewController:item animated:YES];
? ? ? ? ? ? ? ? ? ??return? ? ? ?
? ? ? ??? ? ? ??}? ?
? ? ? ??}