我在 View Controller 上添加了 Split View Controller ,如下所示:
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
如果我在 window
中设置 splitviewcontroller
,就会调用此方法!
有什么建议吗?
最佳答案
据我所知,splitViewController 不能是任何其他 View 的 subview ,因此 splitViewController 必须始终是 mainViewController。
关于iphone - SplitViewController 委托(delegate)方法没有响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8500780/