2012-12-21 12 views
1

저는 앱 시작시 로그인보기 컨트롤러가 있습니다. 그런 다음 사용자 로그인이 성공하면 그 안에 테이블보기가있는보기로 이동하게됩니다. 필자는 네비게이션 컨트롤러 내부에 테이블 뷰를 내장했습니다. 나는 세부보기로 사용자를 푸는 segue가있다. 그러나 행 셀을 클릭하자마자 다음 오류가 발생합니다.Segue가 수행되지 않았습니다.

'Could not find a navigation controller for segue 'Event Details'. Push segues can only be used when the source controller is managed by an instance of UINavigationController.'' 

하지만 위에서 말한 것처럼 테이블 뷰를 포함하는 navigationview 컨트롤러가 있습니다. 이 오류의 원인은 무엇입니까?

.. 나는 당신이 RootViewControllerUINavigationController을 사용하지 여기에 생각 .. 그리고 당신은 rootViewController로 UIViewController를 사용

'->Login View  NavigatinViewController->(View with a table View inside)->Details' 
+0

didSelectRowAtIndexPath 메소드의 코드를 게시하십시오. –

+0

[self performSegueWithIdentifier : @ "EventDetails"sender : nil]; –

답변

1

보기 컨트롤러가 누락 된 것 같습니다.

로그인보기> 탐색 컨트롤러> 테이블보기 컨트롤러> 상세보기 컨트롤러

당신은 스토리 보드를 작성하는 가정은, 네비게이션 컨트롤러가 될 수 있습니다

특히, 다음과 유사한 무언가를해야한다 테이블 뷰 컨트롤러를 선택하고 [편집기]> [포함]> [탐색 컨트롤러]를 선택하여 쉽게 추가 할 수 있습니다.

또는보기 컨트롤러 개체에 포함 된 테이블보기에만 탐색 컨트롤러를 사용하려면보기 컨트롤러에서 컨테이너보기를 만들어 테이블보기와 관련 탐색 컨트롤러를 표시하는 것이 좋습니다.

후자를 수행하려면 컨테이너 개체를보기 컨트롤러로 끌어서 표시 할 테이블보기에 맞게 크기를 조정하십시오. 컨테이너 뷰가 자동으로 생성하는 뷰 컨트롤러를 삭제하십시오.

다음으로 테이블보기 컨트롤러를 만들고 컨테이너보기에서보기 컨트롤러를 만듭니다. 이 segue는 'embed'segue가 될 것입니다.마지막으로 방금 생성 한 테이블 뷰 컨트롤러를 탐색 컨트롤러에 포함하고 테이블 뷰 컨트롤러의 푸시 세그를 상세 뷰 컨트롤러에 추가 할 수 있습니다.

1

을 다음 그래서이 오류

이 문제가 될 수 있으므로 응용 프로그램의 흐름은 그냥이가 출력 단계를 따라하려고

.. 당신의 storyboar에

  1. 드래그 새로운 탐색 컨트롤러 D - 그것은 기본적으로있는 tableview 컨트롤러

  2. 있는 tableview 컨트롤러가 오른쪽 navgiation 컨트롤러를 클릭하고

  3. 이동 귀하의 기존 뷰 컨트롤러 항목을 "루트 뷰 컨트롤러"속성을 연결 삭제에 첨부됩니다

가 UPDATE 루트 뷰 컨트롤러로 뷰 컨트롤러에서 방향 화살표 :

이 예제를 볼 수있는 당신을 통해 유효성 검사를하고 명확하게 자세히보기를 밀어 넣을 수 있습니다 ...

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"AddPlayer"]) 
    { 
     UINavigationController *navigationController = 
      segue.destinationViewController; 
     PlayerDetailsViewController 
      *playerDetailsViewController = 
      [[navigationController viewControllers] 
       objectAtIndex:0]; 
     playerDetailsViewController.delegate = self; 
    } 
} 
+0

기존 뷰 컨트롤러는 무엇을 의미합니까? 로그인보기 또는 테이블보기가있는보기? –

+0

loginview 컨트롤러에 속성을 설정 ... –

+0

완료 및 실패했습니다. –

관련 문제