2012-05-14 8 views
3

나는 초기 화면으로보기 컨트롤러가 있고 다음에보기 컨트롤러가 탐색보기 컨트롤러 안에 내장 된 프로젝트를 가지고있다. 또한 첫 번째 화면에는 탐색 컨트롤러 화면이 열리도록 버튼이 있습니다.prepareForSegue 메소드를 사용하여보기 컨트롤러에서 탐색보기 컨트롤러로 푸시하는 방법은 무엇입니까?

버튼을 클릭 한 다음 '연결 관리자'에서 해당 탐색 컨트롤러에 밀어 넣기 이벤트를 추가했지만 연결이 끊이지 않습니다. 어떻게하면 좋을까요? 연구의 조금 나는이 일의 작업을 얻을 수 있었다 마지막으로 후

솔루션. 다음은 내가 사용하고있는 코드입니다 :

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    NSLog(@"Source Controller = %@", [segue sourceViewController]); 
    NSLog(@"Destination Controller = %@", [segue destinationViewController]); 
    NSLog(@"Segue Identifier = %@", [segue identifier]); 

    if ([segue.identifier isEqualToString:@"mysegue"]) 
    { 
     NSLog(@"coming here"); 

    SecondViewController *loginViewController = (SecondViewController *)segue.destinationViewController; 

     //SecondViewController *navigationController = [[UINavigationController alloc]init]; 

     [self presentModalViewController:loginViewController animated:YES]; 


    } 

} 

+0

Perfect! 감사. – KVISH

답변

0

내비게이션 컨트롤러가 내장 된보기 컨트롤러에 올바르게 연결되어 있습니까? 첫 번째보기 컨트롤러는 Push 스타일 세그먼트와 함께 네비게이션 컨트롤러에 연결되어야하며 내비게이션 컨트롤러는 Relationship 스타일 세그먼트와 함께 두 번째보기 컨트롤러에 연결되어야합니다.

어쨌든 공식적인 Apple 튜토리얼 중 하나가이 작업을 수행하므로 코드를 비교하여 차이점이 있는지 확인할 수 있습니다 (Your Second iOS App). prepareForSegue 메서드 자체는 실제로 segue를 실행하는 것과 관련이 없습니다. 새 View Controller를 준비하기 위해 Segue가 실행되기 전에 호출됩니다.

+0

안녕하세요 Paul. 네, 모두 정확하게 설정되어 있습니다. 해결책을 찾았고 내 대답도 편집했습니다. 제안에 감사드립니다. –