Методы делегата SplitViewController не отвечают - PullRequest
0 голосов
/ 14 декабря 2011

Я добавил контроллер разделения представления на контроллере представления так:

rootViewController = [[RootViewController alloc] initWithStyle:UITableViewStylePlain];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];

detailViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
rootViewController.detailViewController = detailViewController;

splitViewController = [[UISplitViewController alloc] init];
splitViewController.viewControllers = [NSArray arrayWithObjects:navigationController, detailViewController, nil];
splitViewController.delegate = detailViewController;

[self.view addSubview:splitViewController.view];

Но этот метод, определенный в DetailViewController, никогда не вызывается:

- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc 

Если я установил splitviewcontroller через window с, тогда этот метод вызывается!Любой совет?

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Как я знаю, splitViewController не может быть подвидом любого другого представления, поэтому splitViewController всегда должен быть mainViewController.

1 голос
/ 14 декабря 2011

Пожалуйста, убедитесь, что ваш класс DetailViewController реализует протокол UISplitViewControllerDelegate.

...