@@ -100,10 +100,41 @@ Add this line `pod 'WYPopoverController', '~> 0.1.2'` to your PodFile or add man
100100
101101##### Simple
102102
103+ In the implementation of your view controller
104+
103105``` objective-c
104- WYPopoverController* popoverController = [[WYPopoverController alloc ] initWithContentViewController: controller] ;
105- popoverController.delegate = self;
106- [ popoverController presentPopoverFromRect: button .bounds inView: button permittedArrowDirections: WYPopoverArrowDirectionAny animated: YES ] ;
106+ // YourViewController.m
107+
108+ @interface YourViewController () <WYPopoverControllerDelegate >
109+ {
110+ WYPopoverController* popoverController;
111+ }
112+
113+ - (IBAction)showPopover:(id)sender;
114+
115+ @end
116+
117+ @implementation YourViewController
118+
119+ - (IBAction)showPopover:(id)sender
120+ {
121+ popoverController = [[ WYPopoverController alloc] initWithContentViewController: controller ] ;
122+ popoverController.delegate = self;
123+ [ popoverController presentPopoverFromRect: button .bounds inView: button permittedArrowDirections: WYPopoverArrowDirectionAny animated: YES ] ;
124+ }
125+
126+ - (BOOL)popoverControllerShouldDismiss:(WYPopoverController * )controller
127+ {
128+ return YES;
129+ }
130+
131+ - (void)popoverControllerDidDismiss:(WYPopoverController * )controller
132+ {
133+ popoverController.delegate = nil;
134+ popoverController = nil;
135+ }
136+
137+ @end
107138```
108139
109140##### Appearance (Tint Color)
@@ -116,36 +147,37 @@ WYPopoverBackgroundView* appearance = [WYPopoverBackgroundView appearance];
116147##### Appearance (Flat Popover)
117148
118149``` objective-c
119- WYPopoverBackgroundView* appearance = [WYPopoverBackgroundView appearance ];
120-
121- [appearance setOuterCornerRadius: 4] ;
122- [ appearance setOuterShadowBlurRadius:0] ;
123- [ appearance setOuterShadowColor:[ UIColor clearColor]] ;
124- [ appearance setOuterShadowOffset: CGSizeMake (0, 0)] ;
150+ UIColor* greenColor = [UIColor colorWithRed: 26.f/255.f green:188.f/255.f blue:156.f/255.f alpha:1] ;
151+
152+ WYPopoverBackgroundView* popoverAppearance = [ WYPopoverBackgroundView appearance] ;
125153
126- [ appearance setGlossShadowColor:[ UIColor clearColor]] ;
127- [ appearance setGlossShadowOffset: CGSizeMake (0, 0)] ;
154+ [ popoverAppearance setOuterCornerRadius:4] ;
155+ [ popoverAppearance setOuterShadowBlurRadius:0] ;
156+ [ popoverAppearance setOuterShadowColor:[ UIColor clearColor]] ;
157+ [ popoverAppearance setOuterShadowOffset: CGSizeMake (0, 0)] ;
128158
129- [ appearance setBorderWidth:8] ;
130- [ appearance setArrowHeight:10] ;
131- [ appearance setArrowBase:20] ;
159+ [ popoverAppearance setGlossShadowColor:[ UIColor clearColor]] ;
160+ [ popoverAppearance setGlossShadowOffset: CGSizeMake (0, 0)] ;
132161
133- [ appearance setInnerCornerRadius:4] ;
134- [ appearance setInnerShadowBlurRadius:0] ;
135- [ appearance setInnerShadowColor:[ UIColor clearColor]] ;
136- [ appearance setInnerShadowOffset: CGSizeMake (0, 0)] ;
162+ [ popoverAppearance setBorderWidth:8] ;
163+ [ popoverAppearance setArrowHeight:10] ;
164+ [ popoverAppearance setArrowBase:20] ;
137165
138- UIColor* greenColor = [ UIColor colorWithRed:26.f/255.f green:188.f/255.f blue:156.f/255.f alpha:1] ;
166+ [ popoverAppearance setInnerCornerRadius:4] ;
167+ [ popoverAppearance setInnerShadowBlurRadius:0] ;
168+ [ popoverAppearance setInnerShadowColor:[ UIColor clearColor]] ;
169+ [ popoverAppearance setInnerShadowOffset: CGSizeMake (0, 0)] ;
139170
140- [ appearance setFillTopColor: greenColor ] ;
141- [ appearance setFillBottomColor: greenColor ] ;
142- [ appearance setStrokeColor: greenColor ] ;
171+ [ popoverAppearance setFillTopColor: greenColor ] ;
172+ [ popoverAppearance setFillBottomColor: greenColor ] ;
173+ [ popoverAppearance setOuterStrokeColor: greenColor ] ;
174+ [ popoverAppearance setInnerStrokeColor: greenColor ] ;
143175
144- UINavigationBar* appearance2 = [ UINavigationBar appearanceWhenContainedIn:[ UINavigationController class] , nil] ;
145- [ appearance2 setTitleTextAttributes:@{
176+ UINavigationBar* navBarInPopoverAppearance = [ UINavigationBar appearanceWhenContainedIn:[ UINavigationController class ] , [ WYPopoverController class] , nil] ;
177+ [ navBarInPopoverAppearance setTitleTextAttributes: @{
146178 UITextAttributeTextColor : [ UIColor whiteColor] ,
147- UITextAttributeTextShadowColor: [ UIColor clearColor] ,
148- UITextAttributeTextShadowOffset: [ NSValue valueWithUIOffset: UIOffsetMake (0, -1)] }] ;
179+ UITextAttributeTextShadowColor : [ UIColor clearColor] ,
180+ UITextAttributeTextShadowOffset : [ NSValue valueWithUIOffset: UIOffsetMake (0, -1)] }] ;
149181```
150182
151183##### Storyboard
@@ -156,6 +188,10 @@ UINavigationBar* appearance2 = [UINavigationBar appearanceWhenContainedIn:[UINav
156188 if ([segue.identifier isEqualToString:@"[YOUR_SEGUE_IDENTIFIER]"])
157189 {
158190 WYStoryboardPopoverSegue* popoverSegue = (WYStoryboardPopoverSegue*)segue;
191+
192+ UIViewController* destinationViewController = (UIViewController *)segue.destinationViewController;
193+ destinationViewController.contentSizeForViewInPopover = CGSizeMake(280, 280); // Deprecated in iOS7. Use 'preferredContentSize' instead.
194+
159195 popoverController = [popoverSegue popoverControllerWithSender:sender permittedArrowDirections:WYPopoverArrowDirectionAny animated:YES];
160196 popoverController.delegate = self;
161197 }
0 commit comments