2016-06-09 2 views
0

새로운 ViewController를 푸시 (push)하는 다음 코드가 있습니다.iOS에서 특정 컨트롤러로 팝 | Objective-c

- (IBAction)btnEditPressed:(id)sender { 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    UIViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"contactListViewController"]; 
    [self parentShowViewController:controller sender:sender]; 
} 

- (void)parentShowViewController:(UIViewController *)controller sender:(id)sender { 
    if ([self isIOS7]) { 
     // En iOS7 no existe el método showViewController 
     [self.navigationController pushViewController:controller animated:YES]; 
    } else { 
     //[self.navigationController pushViewController:controller animated:YES]; 
     [super showViewController:controller sender:sender]; 
    } 
} 

다음과 같은 시나리오가 있습니다. A, B, C라는 3 개의 ViewController가 있습니다.

A-> B-> C를 눌러 뒤로 버튼 난 당신이 컨트롤러 C에 컨트롤러 C에서 제어기 A로 이동하려면이

같은 것을 시도해보십시오

답변

4

에 C에서 백업하려면 사용자 정의를 만들 뒤로 버튼을 클릭하고 그 동작을 설정하고 다음 코드를 입력하십시오.

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES]; 

이것은 컨트롤러 A가 내비게이션의 첫 번째 컨트롤러라는 것을 알고있는 경우에만 작동합니다.

당신의 ViewController의 순서가이 일

for (UIViewController *vc in self.navigationController.viewControllers) { 
     if ([vc isKindOfClass:[ViewControllerA class]]) { 
      [self.navigationController popToViewController:VC animated:Yes]; 
     } 
    } 

을 시도하고 사용자 정의 버튼이 당신을 도울 것이 link

희망에 가서 추가 모르는 경우.

+0

탐색 표시 줄에 맞춤 검색 버튼을 추가하는 방법을 모르는 경우 알려 주시기 바랍니다. –