UINavigationController как подробный вид UISplitViewController - PullRequest
1 голос
/ 05 апреля 2010

Я настроил контроллер навигации как подробный вид контроллера разделенного представления (NewFeedsNavigationController наследуется от UINavigationController).

- (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;
}

На самом деле навигационный контроллер великолепно работает в портретной ориентации, но немного странно в альбомной ориентации. При перемещении назад в иерархии (к корневому представлению) мне всегда приходится дважды нажимать на представление. При первом касании видимый вид извлекается из стопки, а при втором касании панель навигации поворачивается. Обычно оба случаются одновременно. Я понятия не имею, что происходит не так.

1 Ответ

3 голосов
/ 18 апреля 2010

Я ошибся.ошибочное поведение сохраняется в последней версии, но я нашел решение для моего случая.Вы не должны получать пользовательский подкласс UINavigationController.Это даже говорит об этом в руководстве программистов контроллера представления.После этого ограничения я смог решить все свои проблемы.

...