From 08baf9104e0ba182e0b8e4c543fe5cebc247c5f6 Mon Sep 17 00:00:00 2001 From: Lance Zhang Date: Thu, 28 Aug 2014 14:17:07 +0800 Subject: [PATCH] save oldTintAdjustmentMode only when new alert view is about to be displayed if an alert view is displayed, and display another alert view, this will make main window has UIViewTintAdjustmentModeDimmed, and never come back to normal again, and Buttons/Tabbar/Toolbar will lose tintColor --- SIAlertView/SIAlertView.m | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SIAlertView/SIAlertView.m b/SIAlertView/SIAlertView.m index 511121a..ca09ed7 100644 --- a/SIAlertView/SIAlertView.m +++ b/SIAlertView/SIAlertView.m @@ -358,14 +358,6 @@ - (void)show return; } - self.oldKeyWindow = [[UIApplication sharedApplication] keyWindow]; -#ifdef __IPHONE_7_0 - if ([self.oldKeyWindow respondsToSelector:@selector(setTintAdjustmentMode:)]) { // for iOS 7 - self.oldTintAdjustmentMode = self.oldKeyWindow.tintAdjustmentMode; - self.oldKeyWindow.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed; - } -#endif - if (![[SIAlertView sharedQueue] containsObject:self]) { [[SIAlertView sharedQueue] addObject:self]; } @@ -380,6 +372,14 @@ - (void)show return; } + self.oldKeyWindow = [[UIApplication sharedApplication] keyWindow]; +#ifdef __IPHONE_7_0 + if ([self.oldKeyWindow respondsToSelector:@selector(setTintAdjustmentMode:)]) { // for iOS 7 + self.oldTintAdjustmentMode = self.oldKeyWindow.tintAdjustmentMode; + self.oldKeyWindow.tintAdjustmentMode = UIViewTintAdjustmentModeDimmed; + } +#endif + if (self.willShowHandler) { self.willShowHandler(self); }