2011-08-31 3 views
1

내 splitview에는 각 tabbaritem (Detailview)에 navigationcontroller가있는 UITable (Masterview) 및 tabbar가 있습니다. Masterview에서 tablerow를 클릭하면 상세 뷰 컨트롤러에서 새 뷰가 푸시됩니다.루트에서 자세히보기 컨트롤러로 뷰 컨트롤러 밀어 넣기 (SplitView)

이 반복을 작성하여 올바른 UINavigationController를 가져오고 새보기를 푸시하십시오. 불행히도 이것은 작동하지 않습니다. 그것은 새로운 시각을 보여주지 않으며 때로는 단지 추락했습니다.

// code from MasterView 
    PDFViewer *pdfViewerController = [[PDFViewer alloc] initWithNibName:@"PDFViewer" bundle:nil]; 
    pdfViewerController.pdfData = [[NSData alloc] initWithData: pdfContent]; 
    pdfViewerController.docInfo = curDocInfo; 

    // gets tabbar controllers 
    XtendisAppDelegate *appDelegate = (XtendisAppDelegate *)[[UIApplication sharedApplication] delegate]; 
    NSMutableArray *controllers = [NSMutableArray arrayWithArray: appDelegate.tabBarController.viewControllers]; 

    for (UIViewController *curController in controllers) { 
     if ([curController isKindOfClass:[UINavigationController class]]) { 
      [curController.navigationController pushViewController:pdfViewerController animated:YES]; 
      break; 
     } 
    } 

    [pdfViewerController release]; 

어떤 생각을 잘못 했습니까? 도움을 주시면 감사하겠습니다. 미리 감사드립니다.

건배, Inoel

+0

의 목적은

[curController pushViewController:pdfViewerController animated:YES]; 

curController 때문에'수 있음 UINavigationController'that 당신은 것입니다 find가 뷰의 맨 위에 있지 않다. 틀어 박혀 있니? – Nekto

답변

1

보십시오이와

[curController.navigationController pushViewController:pdfViewerController animated:YES]; 

를 교체하려면 : 이미 UINavigationController class

+0

물론 ... stuppid me, 그것을 지적 해 주셔서 감사합니다. – Inoel

관련 문제