8000 Merge pull request #241 from hydr93/develop · netgit/SCLAlertView@503dede · GitHub
[go: up one dir, main page]

Skip to content

Commit 503dede

Browse files
authored
Merge pull request dogo#241 from hydr93/develop
2 parents 335dd40 + 20df9cb commit 503dede

File tree

2 files changed

+58
-2
lines changed

2 files changed

+58
-2
lines changed

SCLAlertView/SCLAlertView.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
typedef NSAttributedString* (^SCLAttributedFormatBlock)(NSString *value);
1919
typedef void (^SCLDismissBlock)(void);
2020
typedef void (^SCLDismissAnimationCompletionBlock)(void);
21+
typedef void (^SCLShowAnimationCompletionBlock)(void);
2122
typedef void (^SCLForceHideBlock)(void);
2223

2324
@interface SCLAlertView : UIViewController
@@ -253,6 +254,12 @@ typedef NS_ENUM(NSInteger, SCLAlertViewBackground)
253254
*/
254255
- (void)alertDismissAnimationIsCompleted:(SCLDismissAnimationCompletionBlock)dismissAnimationCompletionBlock;
255256

257+
/** Warns that alerts show animation is completed
258+
*
259+
* Warns that alerts show animation is completed
260+
*/
261+
- (void)alertShowAnimationIsCompleted:(SCLShowAnimationCompletionBlock)showAnimationCompletionBlock;
262+
256263
/** Hide SCLAlertView
257264
*
258265
* Hide SCLAlertView using animation and removing from super view.
@@ -551,6 +558,7 @@ typedef NS_ENUM(NSInteger, SCLAlertViewBackground)
551558
#pragma mark - Custom Setters
552559
@property(copy, nonatomic) SCLAlertViewBuilder *(^alertIsDismissed) (SCLDismissBlock dismissBlock);
553560
@property(copy, nonatomic) SCLAlertViewBuilder *(^alertDismissAnimationIsCompleted) (SCLDismissAnimationCompletionBlock dismissAnimationCompletionBlock);
561+
@property(copy, nonatomic) SCLAlertViewBuilder *(^alertShowAnimationIsCompleted) (SCLShowAnimationCompletionBlock showAnimationCompletionBlock);
554562
@property(copy, nonatomic) SCLAlertViewBuilder *(^removeTopCircle)(void);
555563
@property(copy, nonatomic) SCLAlertViewBuilder *(^addCustomView)(UIView *view);
556564
@property(copy, nonatomic) SCLAlertViewBuilder *(^addTextField)(NSString *title);

SCLAlertView/SCLAlertView.m

Lines changed: 50 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ @interface SCLAlertView () <UITextFieldDelegate, UIGestureRecognizerDelegate>
4444
@property (strong, nonatomic) UIWindow *SCLAlertWindow;
4545
@property (copy, nonatomic) SCLDismissBlock dismissBlock;
4646
@property (copy, nonatomic) SCLDismissAnimationCompletionBlock dismissAnimationCompletionBlock;
47+
@property (copy, nonatomic) SCLShowAnimationCompletionBlock showAnimationCompletionBlock;
4748
@property (weak, nonatomic) UIViewController *rootViewController;
4849
@property (weak, nonatomic) id<UIGestureRecognizerDelegate> restoreInteractivePopGestureDelegate;
4950
@property (assign, nonatomic) SystemSoundID soundID;
@@ -1175,6 +1176,10 @@ - (void)alertDismissAnimationIsCompleted:(SCLDismissAnimationCompletionBlock)dis
11751176
self.dismissAnimationCompletionBlock = dismissAnimationCompletionBlock;
11761177
}
11771178

1179+
- (void)alertShowAnimationIsCompleted:(SCLShowAnimationCompletionBlock)showAnimationCompletionBlock{
1180+
self.showAnimationCompletionBlock = showAnimationCompletionBlock;
1181+
}
1182+
11781183
- (SCLForceHideBlock)forceHideBlock:(SCLForceHideBlock)forceHideBlock
11791184
{
11801185
_forceHideBlock = forceHideBlock;
@@ -1480,7 +1485,11 @@ - (void)fadeIn
14801485
self.backgroundView.alpha = _backgroundOpacity;
14811486
self.view.alpha = 1.0f;
14821487
}
1483-
completion:nil];
1488+
completion:^(BOOL finished) {
1489+
if ( _showAnimationCompletionBlock ){
1490+
self.showAnimationCompletionBlock();
1491+
}
1492+
}];
14841493
}
14851494

14861495
- (void)slideInFromTop
@@ -1504,6 +1513,10 @@ - (void)slideInFromTop
15041513
} completion:^(BOOL completed) {
15051514
[UIView animateWithDuration:0.2f animations:^{
15061515
self.view.center = _backgroundView.center;
1516+
} completion:^(BOOL finished) {
1517+
if ( _showAnimationCompletionBlock ){
1518+
self.showAnimationCompletionBlock();
1519+
}
15071520
}];
15081521
}];
15091522
}
@@ -1523,7 +1536,9 @@ - (void)slideInFromTop
15231536

15241537
self.view.alpha = 1.0f;
15251538
} completion:^(BOOL finished) {
1526-
// nothing
1539+
if ( _showAnimationCompletionBlock ){
1540+
self.showAnimationCompletionBlock();
1541+
}
15271542
}];
15281543
}
15291544
}
@@ -1547,6 +1562,10 @@ - (void)slideInFromBottom
15471562
} completion:^(BOOL completed) {
15481563
[UIView animateWithDuration:0.2f animations:^{
15491564
self.view.center = _backgroundView.center;
1565+
} completion:^(BOOL finished) {
1566+
if ( _showAnimationCompletionBlock ){
1567+
self.showAnimationCompletionBlock();
1568+
}
15501569
}];
15511570
}];
15521571
}
@@ -1570,6 +1589,10 @@ - (void)slideInFromLeft
15701589
} completion:^(BOOL completed) {
15711590
[UIView animateWithDuration:0.2f animations:^{
15721591
self.view.center = _backgroundView.center;
1592+
} completion:^(BOOL finished) {
1593+
if ( _showAnimationCompletionBlock ){
1594+
self.showAnimationCompletionBlock();
1595+
}
15731596
}];
15741597
}];
15751598
}
@@ -1593,6 +1616,10 @@ - (void)slideInFromRight
15931616
} completion:^(BOOL completed) {
15941617
[UIView animateWithDuration:0.2f animations:^{
15951618
self.view.center = _backgroundView.center;
1619+
} completion:^(BOOL finished) {
1620+
if ( _showAnimationCompletionBlock ){
1621+
self.showAnimationCompletionBlock();
1622+
}
15961623
}];
15971624
}];
15981625
}
@@ -1614,6 +1641,10 @@ - (void)slideInFromCenter
16141641
} completion:^(BOOL completed) {
16151642
[UIView animateWithDuration:0.2f animations:^{
16161643
self.view.center = _backgroundView.center;
1644+
} completion:^(BOOL finished) {
1645+
if ( _showAnimationCompletionBlock ){
1646+
self.showAnimationCompletionBlock();
1647+
}
16171648
}];
16181649
}];
16191650
}
@@ -1635,6 +1666,10 @@ - (void)slideInToCenter
16351666
} completion:^(BOOL completed) {
16361667
[UIView animateWithDuration:0.2f animations:^{
16371668
self.view.center = _backgroundView.center;
1669+
} completion:^(BOOL finished) {
1670+
if ( _showAnimationCompletionBlock ){
1671+
self.showAnimationCompletionBlock();
1672+
}
16381673
}];
16391674
}];
16401675
}
@@ -1647,6 +1682,9 @@ - (void)simplyAppear
16471682
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
16481683
self.backgroundView.alpha = _backgroundOpacity;
16491684
self.view.alpha = 1.0f;
1685+
if ( _showAnimationCompletionBlock ){
1686+
self.showAnimationCompletionBlock();
1687+
}
16501688
});
16511689
}
16521690

@@ -2029,6 +2067,16 @@ - (instancetype)initWithNewWindowWidth:(CGFloat)width {
20292067
}
20302068
return _alertDismissAnimationIsCompleted;
20312069
}
2070+
-(SCLAlertViewBuilder *(^)(SCLShowAnimationCompletionBlock))alertShowAnimationIsCompleted{
2071+
if (!_alertShowAnimationIsCompleted) {
2072+
__weak typeof(self) weakSelf = self;
2073+
_alertShowAnimationIsCompleted = ^(SCLShowAnimationCompletionBlock showAnimationCompletionBlock) {
2074+
[weakSelf.alertView alertShowAnimationIsCompleted:showAnimationCompletionBlock];
2075+
return weakSelf;
2076+
};
2077+
}
2078+
return _alertShowAnimationIsCompleted;
2079+
}
20322080
- (SCLAlertViewBuilder *(^) (void))removeTopCircle {
20332081
if (!_removeTopCircle) {
20342082
__weak typeof(self) weakSelf = self;

0 commit comments

Comments
 (0)
0