判斷viewController是否被push,返回上一頁dismiss還是pop
NSArray *viewcontrollers = self.navigationController.viewControllers; if (viewcontrollers.count > 1) { if ([viewcontrollers objectAtIndex:viewcontrollers.count - 1] == self) {//push [self.navigationController popViewControllerAnimated:YES]; } } else{ [self dismissViewControllerAnimated:YES completion:nil]; }