From a33dc13a4d39199ef2e8d112713ab403ac4f2b90 Mon Sep 17 00:00:00 2001 From: bsantanas Date: Wed, 9 Sep 2015 20:04:24 +0100 Subject: [PATCH] -Modified the bouncing animation I wanted the alert to bounce more smoothly so I replaced the 3 step animation for a continuous one with bounce and let the OS take charge of the steps! the damping and duration can be modified --- .../xcshareddata/SweetAlert.xccheckout | 41 ++++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 9795 bytes .../xcschemes/SweetAlert.xcscheme | 88 ++++++++++++++++++ .../xcschemes/xcschememanagement.plist | 22 +++++ SweetAlert/SweetAlert.swift | 25 ++--- 5 files changed, 158 insertions(+), 18 deletions(-) create mode 100644 SweetAlert.xcodeproj/project.xcworkspace/xcshareddata/SweetAlert.xccheckout create mode 100644 SweetAlert.xcodeproj/project.xcworkspace/xcuserdata/bernardosantana.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 SweetAlert.xcodeproj/xcuserdata/bernardosantana.xcuserdatad/xcschemes/SweetAlert.xcscheme create mode 100644 SweetAlert.xcodeproj/xcuserdata/bernardosantana.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/SweetAlert.xcodeproj/project.xcworkspace/xcshareddata/SweetAlert.xccheckout b/SweetAlert.xcodeproj/project.xcworkspace/xcshareddata/SweetAlert.xccheckout new file mode 100644 index 0000000..85da833 --- /dev/null +++ b/SweetAlert.xcodeproj/project.xcworkspace/xcshareddata/SweetAlert.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + 3EE1B1FE-C3B8-4C71-81DE-A7FB2CF37421 + IDESourceControlProjectName + SweetAlert + IDESourceControlProjectOriginsDictionary + + 05630D693F59F7CEDACB6CAB0E4EA0A642C60427 + https://github.com/bsantanas/SweetAlert-iOS.git + + IDESourceControlProjectPath + SweetAlert.xcodeproj + IDESourceControlProjectRelativeInstallPathDictionary + + 05630D693F59F7CEDACB6CAB0E4EA0A642C60427 + ../.. + + IDESourceControlProjectURL + https://github.com/bsantanas/SweetAlert-iOS.git + IDESourceControlProjectVersion + 111 + IDESourceControlProjectWCCIdentifier + 05630D693F59F7CEDACB6CAB0E4EA0A642C60427 + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + 05630D693F59F7CEDACB6CAB0E4EA0A642C60427 + IDESourceControlWCCName + SweetAlert-iOS + + + + diff --git a/SweetAlert.xcodeproj/project.xcworkspace/xcuserdata/bernardosantana.xcuserdatad/UserInterfaceState.xcuserstate b/SweetAlert.xcodeproj/project.xcworkspace/xcuserdata/bernardosantana.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..daf26a3685313998430c505b7a4c0d2eb2e05c97 GIT binary patch literal 9795 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 literal 0 HcmV?d00001 diff --git a/SweetAlert.xcodeproj/xcuserdata/bernardosantana.xcuserdatad/xcschemes/SweetAlert.xcscheme b/SweetAlert.xcodeproj/xcuserdata/bernardosantana.xcuserdatad/xcschemes/SweetAlert.xcscheme new file mode 100644 index 0000000..32af3dc --- /dev/null +++ b/SweetAlert.xcodeproj/xcuserdata/bernardosantana.xcuserdatad/xcschemes/SweetAlert.xcscheme @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SweetAlert.xcodeproj/xcuserdata/bernardosantana.xcuserdatad/xcschemes/xcschememanagement.plist b/SweetAlert.xcodeproj/xcuserdata/bernardosantana.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..d1bbe28 --- /dev/null +++ b/SweetAlert.xcodeproj/xcuserdata/bernardosantana.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + SweetAlert.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + 9B4CD1071A06E55200B65DE0 + + primary + + + + + diff --git a/SweetAlert/SweetAlert.swift b/SweetAlert/SweetAlert.swift index d0ac569..97929e5 100644 --- a/SweetAlert/SweetAlert.swift +++ b/SweetAlert/SweetAlert.swift @@ -310,24 +310,13 @@ public class SweetAlert: UIViewController { let previousTransform = self.contentView.transform self.contentView.layer.transform = CATransform3DMakeScale(0.9, 0.9, 0.0); - UIView.animateWithDuration(0.2, animations: { () -> Void in - self.contentView.layer.transform = CATransform3DMakeScale(1.1, 1.1, 0.0); - }) { (Bool) -> Void in - UIView.animateWithDuration(0.1, animations: { () -> Void in - self.contentView.layer.transform = CATransform3DMakeScale(0.9, 0.9, 0.0); - }) { (Bool) -> Void in - UIView.animateWithDuration(0.1, animations: { () -> Void in - self.contentView.layer.transform = CATransform3DMakeScale(1.0, 1.0, 0.0); - if self.animatedView != nil { - self.animatedView!.animate() - } - - }) { (Bool) -> Void in - - self.contentView.transform = previousTransform - } - } - } + UIView.animateWithDuration(1, delay: 0, usingSpringWithDamping: 0.3, initialSpringVelocity: 0, options: nil, animations: { + + self.contentView.transform = previousTransform + + }, completion: { value in + // A completion can be added but is not necessary + }) } private struct SweetAlertContext {