99#import " WYSettingsViewController.h"
1010#import " WYAnotherViewController.h"
1111
12- @interface WYAllDirectionsViewController ()
12+ @interface WYAllDirectionsViewController () <WYPopoverControllerDelegate, UIPopoverControllerDelegate>
1313{
1414 WYPopoverController* popoverController;
15+ UIPopoverController* standardPopoverController;
1516}
1617
1718- (IBAction )showPopover : (id )sender ;
@@ -57,10 +58,12 @@ - (IBAction)showPopover:(id)sender
5758 UIView* btn = (UIView*)sender;
5859
5960 WYSettingsViewController* settingsViewController = [[WYSettingsViewController alloc ] init ];
60- settingsViewController.contentSizeForViewInPopover = CGSizeMake (280 , 200 );
61+ settingsViewController.preferredContentSize = CGSizeMake (280 , 200 );
6162 settingsViewController.title = @" Settings" ;
6263 [settingsViewController.navigationItem setRightBarButtonItem: [[UIBarButtonItem alloc ] initWithBarButtonSystemItem: UIBarButtonSystemItemDone target: self action: @selector (done: )]];
6364
65+ settingsViewController.modalInPopover = NO ;
66+
6467 UINavigationController* contentViewController = [[UINavigationController alloc ] initWithRootViewController: settingsViewController];
6568
6669 popoverController = [[WYPopoverController alloc ] initWithContentViewController: contentViewController];
@@ -69,6 +72,12 @@ - (IBAction)showPopover:(id)sender
6972 popoverController.popoverLayoutMargins = UIEdgeInsetsMake (10 , 10 , 10 , 10 );
7073 popoverController.wantsDefaultContentAppearance = NO ;
7174 [popoverController presentPopoverFromRect: btn.bounds inView: btn permittedArrowDirections: WYPopoverArrowDirectionAny animated: YES ];
75+
76+ /*
77+ standardPopoverController = [[UIPopoverController alloc] initWithContentViewController:contentViewController];
78+ standardPopoverController.delegate = self;
79+ [standardPopoverController presentPopoverFromRect:btn.bounds inView:btn permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
80+ */
7281 }
7382 else
7483 {
@@ -98,6 +107,19 @@ - (void)popoverControllerDidDismiss:(WYPopoverController *)controller
98107 popoverController = nil ;
99108}
100109
110+ #pragma mark - UIPopoverControllerDelegate
111+
112+ - (BOOL )popoverControllerShouldDismissPopover : (UIPopoverController *)aPopoverController
113+ {
114+ return YES ;
115+ }
116+
117+ - (void )popoverControllerDidDismissPopover : (UIPopoverController *)aPopoverController
118+ {
119+ standardPopoverController.delegate = nil ;
120+ standardPopoverController = nil ;
121+ }
122+
101123#pragma mark - UIViewControllerRotation
102124
103125// Applications should use supportedInterfaceOrientations and/or shouldAutorotate..
0 commit comments