2010-04-05 9 views
1

분할보기 컨트롤러의 세부보기로 탐색 컨트롤러를 설정했습니다 (NewFeedsNavigationController는 UINavigationController에서 상속 됨).UINavigationController UISplitViewController의 상세 뷰로

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

    masterViewController = [[MasterViewController alloc] initWithStyle:UITableViewStylePlain]; 
    UINavigationController *masterNavigationController = [[UINavigationController alloc] initWithRootViewController:masterViewController]; 
    NewsFeedsNavigationController *newsFeedsNavigationController = [[NewsFeedsNavigationController alloc] initWithCategories]; 

    splitViewController = [[UISplitViewController alloc] init]; 
    masterViewController.splitViewController = splitViewController; 
    splitViewController.viewControllers = [NSArray arrayWithObjects:masterNavigationController, newsFeedsNavigationController, nil]; 
    splitViewController.delegate = newsFeedsNavigationController; 


    // Add the split view controller's view to the window and display. 
    [window addSubview:splitViewController.view]; 
    [window makeKeyAndVisible]; 

    return YES; 
} 

실제로 내비게이션 컨트롤러는 세로 방향으로 훌륭하게 작동하지만 가로 방향으로는 이상하게 작동합니다. 계층 구조에서 루트보기로 돌아갈 때 항상보기 당 두 번 탭해야합니다. 첫 번째 탭에서 보이는 뷰가 스택에서 팝되고 두 번째 탭에서 탐색 막대가 바뀝니다. 대개 둘 다 동시에 발생합니다. 나는 무엇이 잘못되었는지 전혀 모른다.

답변

3

내가 잘못 생각했다. 잘못된 동작은 최신 릴리스에서 계속되지만 내 경우에 대한 해결책을 찾았습니다. 커스텀의 UINavigationController 서브 클래스를 파생해서는 안됩니다. 프로그래머가보기 컨트롤러에서 그렇게 말합니다. 그 제한에 따라 나는 모든 문제를 해결할 수있었습니다.

관련 문제