// // UIViewExtension.swift // GMERemittance // // Created by Fm-user on 12/23/17. // Copyright © 2017 Gobal Money Express Co. Ltd. All rights reserved. // import Foundation import UIKit import VisualEffectView extension UIView { func rounded() { self.layer.cornerRadius = self.frame.height / 2 } func addBlur() { let visualEffectView = VisualEffectView(frame: self.frame) visualEffectView.colorTint = .clear visualEffectView.colorTintAlpha = 0.2 visualEffectView.blurRadius = 3 visualEffectView.scale = 1 visualEffectView.isUserInteractionEnabled = false self.addSubview(visualEffectView) } } extension UIView { func fadeIn(duration: TimeInterval = 1.0, delay: TimeInterval = 0.0, completion: @escaping ((Bool) -> Void) = {(finished: Bool) -> Void in}) { UIView.animate(withDuration: duration, delay: delay, options: UIViewAnimationOptions.curveEaseIn, animations: { self.alpha = 1.0 }, completion: completion) } func fadeOut(duration: TimeInterval = 1.0, delay: TimeInterval = 3.0, completion: @escaping (Bool) -> Void = {(finished: Bool) -> Void in}) { UIView.animate(withDuration: duration, delay: delay, options: UIViewAnimationOptions.curveEaseIn, animations: { self.alpha = 0.0 }, completion: completion) } } // MARK: - Animator extension UIView { func bottomToOrigin(duration: Double = 0.3) { let transform = CGAffineTransform(translationX: 0, y: self.bounds.height * 2) self.transform = transform let animator = UIViewPropertyAnimator( duration: duration, curve: .linear ){ let transform = CGAffineTransform(translationX: 0, y: 0) self.transform = transform } animator.startAnimation() } func originToBottom(duration: Double = 0.3, completion: @escaping () -> Void ) { let transform = CGAffineTransform(translationX: 0, y: 0) self.transform = transform let animator = UIViewPropertyAnimator( duration: duration, curve: .linear){ let transform = CGAffineTransform(translationX: 0, y: self.bounds.height * 2) self.transform = transform } animator.addCompletion { _ in completion() } animator.startAnimation() } }