私はsearchcontrollerviewcontroller、detailviewcontroller、およびfilterviewcontrollerを持っています
Appdelegate で、最初の 2 つを splitview コントローラーとして追加し、次のように detailviewcontroller に委任しました。
self.splitViewController.delegate = detailViewController;
self.splitViewController.viewControllers = [NSArray arrayWithObjects:searchViewController, detailNavigationController, nil];
iPadが回転すると、popoverviewのボタンが表示されます
- (void)splitViewController:(UISplitViewController *)splitController
willHideViewController:(UIViewController *)viewController
withBarButtonItem:(UIBarButtonItem *)barButtonItem
forPopoverController:(UIPopoverController *)popoverController{
UIBarButtonItem *filterbutton = [[UIBarButtonItem alloc]initWithTitle:@"Filter" style:UIBarButtonItemStylePlain target:nil action:@selector(showFilterPopover:)];
barButtonItem.title = NSLocalizedString(@"Search", @"Search results");
[self.navigationItem setLeftBarButtonItems:[NSArray arrayWithObjects:barButtonItem,filterbutton, nil] animated:YES];
self.masterPopoverController = popoverController;
}
ここでフィルタービューを初期化します
-(void)showFilterPopover: (id) sender{
FilterViewController *controller = [[FilterViewController alloc]initWithNibName:@"FilterViewController" bundle:nil];
UIPopoverController *popover =
[[UIPopoverController alloc] initWithContentViewController:controller];
popover.delegate = self;
self.masterPopoverController = popover;
[self.masterPopoverController
presentPopoverFromBarButtonItem:sender
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
}
しかし、何も起こりません。ポップオーバーは詳細ビューでは機能しますが、フィルタービューでは機能しません..何か忘れていますか?