Skip to content

Commit 2e70efd

Browse files
Added completion block after presentation
1 parent 9346b41 commit 2e70efd

4 files changed

Lines changed: 49 additions & 11 deletions

File tree

WYPopoverController/WYPopoverController.h

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Version 0.1.8
2+
Version 0.1.9
33
44
WYPopoverController is available under the MIT license.
55
@@ -135,14 +135,28 @@ typedef NS_OPTIONS(NSUInteger, WYPopoverAnimationOptions) {
135135
completion:(void (^)(void))completion;
136136

137137

138+
//
139+
138140
- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item
139141
permittedArrowDirections:(WYPopoverArrowDirection)arrowDirections
140142
animated:(BOOL)animated
141143
options:(WYPopoverAnimationOptions)options;
142144

145+
- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item
146+
permittedArrowDirections:(WYPopoverArrowDirection)arrowDirections
147+
animated:(BOOL)animated
148+
options:(WYPopoverAnimationOptions)options
149+
completion:(void (^)(void))completion;
150+
151+
//
152+
143153
- (void)presentPopoverAsDialogAnimated:(BOOL)animated
144154
options:(WYPopoverAnimationOptions)options;
145155

156+
- (void)presentPopoverAsDialogAnimated:(BOOL)animated
157+
options:(WYPopoverAnimationOptions)options
158+
completion:(void (^)(void))completion;
159+
146160
//
147161

148162
- (void)dismissPopoverAnimated:(BOOL)animated;

WYPopoverController/WYPopoverController.m

Lines changed: 32 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Version 0.1.8
2+
Version 0.1.9
33
44
WYPopoverController is available under the MIT license.
55
@@ -1708,29 +1708,53 @@ - (void)presentPopoverFromRect:(CGRect)aRect
17081708
overlayView.isAccessibilityElement = YES;
17091709
}
17101710

1711-
- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)item
1712-
permittedArrowDirections:(WYPopoverArrowDirection)arrowDirections
1711+
- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)aItem
1712+
permittedArrowDirections:(WYPopoverArrowDirection)aArrowDirections
17131713
animated:(BOOL)aAnimated
17141714
options:(WYPopoverAnimationOptions)aOptions
17151715
{
1716-
barButtonItem = item;
1716+
[self presentPopoverFromBarButtonItem:aItem
1717+
permittedArrowDirections:aArrowDirections
1718+
animated:aAnimated
1719+
options:aOptions
1720+
completion:nil];
1721+
}
1722+
1723+
- (void)presentPopoverFromBarButtonItem:(UIBarButtonItem *)aItem
1724+
permittedArrowDirections:(WYPopoverArrowDirection)aArrowDirections
1725+
animated:(BOOL)aAnimated
1726+
options:(WYPopoverAnimationOptions)aOptions
1727+
completion:(void (^)(void))completion
1728+
{
1729+
barButtonItem = aItem;
17171730
UIView *itemView = [barButtonItem valueForKey:@"view"];
1718-
arrowDirections = WYPopoverArrowDirectionDown | WYPopoverArrowDirectionUp;
1731+
aArrowDirections = WYPopoverArrowDirectionDown | WYPopoverArrowDirectionUp;
17191732
[self presentPopoverFromRect:itemView.bounds
17201733
inView:itemView
1721-
permittedArrowDirections:arrowDirections
1734+
permittedArrowDirections:aArrowDirections
17221735
animated:aAnimated
1723-
options:aOptions];
1736+
options:aOptions
1737+
completion:completion];
1738+
}
1739+
1740+
- (void)presentPopoverAsDialogAnimated:(BOOL)aAnimated
1741+
options:(WYPopoverAnimationOptions)aOptions
1742+
{
1743+
[self presentPopoverAsDialogAnimated:aAnimated
1744+
options:aOptions
1745+
completion:nil];
17241746
}
17251747

17261748
- (void)presentPopoverAsDialogAnimated:(BOOL)aAnimated
17271749
options:(WYPopoverAnimationOptions)aOptions
1750+
completion:(void (^)(void))completion
17281751
{
17291752
[self presentPopoverFromRect:CGRectZero
17301753
inView:nil
17311754
permittedArrowDirections:WYPopoverArrowDirectionNone
17321755
animated:aAnimated
1733-
options:aOptions];
1756+
options:aOptions
1757+
completion:completion];
17341758
}
17351759

17361760
- (CGAffineTransform)transformTranslateForArrowDirection:(WYPopoverArrowDirection)arrowDirection

WYPopoverController/WYStoryboardPopoverSegue.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Version 0.1.8
2+
Version 0.1.9
33
44
WYPopoverController is available under the MIT license.
55

WYPopoverController/WYStoryboardPopoverSegue.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Version 0.1.8
2+
Version 0.1.9
33
44
WYPopoverController is available under the MIT license.
55

0 commit comments

Comments
 (0)