2013-10-11 1 views
-1

하나의 ViewController에서 다른 ViewController로 스토리 보드를 사용하여 segue를 만들려고했으나 예외가 발생했습니다.segues는 nav 컨트롤러에서만 작동합니까?

하위 분류는 NavigationController에서만 작동합니까? 내가 그렇게 해보았을 때 효과가있었습니다. 당신이 ViewControllerA에서 ViewControllerB에 스토리 보드를 사용하여 UINavigationController에 포함하여 ViewControllers이있는 경우

+2

예외는 무엇입니까 ?? seague를 사용하는 방식이 잘못되었을 수 있습니다. 귀하의 스토리 바에 지정한 것과 일치하는 경우 식별자를 확인하십시오. –

답변

0

다음과 같은 경우에만 시각적 요소로 프로그래밍을 수행 할 필요가 보기가 사용자 이벤트에 응답 할 수 있으므로 사용자 상호 작용없이 ViewControllerSegue을 수행 할시기를 알 수 없습니다.

프로그래밍 방식으로 수행 할 수 있습니다.

  1. 인터페이스 작성기에서 Segue 식별자를 설정하십시오.

  2. 이벤트에 대한 응답으로 TouchUpInside 버튼을 호출하십시오 (예 : TouchUpInside).

이 포스팅은 조금 더 많은 정보를 가지고 : Segue implementation via code

참고 : NavigationController를 사용하지 않는 경우 그은을 필요로하기 때문에 그런 다음 푸시에게 Segue 전환을 사용할 수 없습니다 NavigationController. 전환 유형을 전환 유형으로 계속 사용하려면 Custom을 사용할 수 있습니다.

0

하십시오 Segue 다른 하나의 ViewController에서 작성되는 경우

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:@"showDetail"]) 
    { 
     UINavigationController *navController = (UINavigationController *)segue.destinationViewController; 
     ViewControllerB *viewControllerB = (ViewControllerB *)navController.topViewController; 

     // Pass data (for example a NSString object) 
     viewControllerB.aString = myString; 
    } 
} 
관련 문제