1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- //
- // LBXScanNetAnimation.swift
- // swiftScan
- //
- // Created by lbxia on 15/12/9.
- // Copyright © 2015年 xialibing. All rights reserved.
- //
- import UIKit
- class LBXScanNetAnimation: UIImageView {
- var isAnimationing = false
- var animationRect:CGRect = CGRect.zero
- static public func instance()->LBXScanNetAnimation
- {
- return LBXScanNetAnimation()
- }
-
- func startAnimatingWithRect(animationRect:CGRect, parentView:UIView, image:UIImage?)
- {
- self.image = image
- self.animationRect = animationRect
- parentView.addSubview(self)
-
- self.isHidden = false;
-
- isAnimationing = true;
-
- if (image != nil)
- {
- stepAnimation()
- }
- }
-
- @objc func stepAnimation()
- {
- if (!isAnimationing) {
- return;
- }
-
- var frame = animationRect;
-
-
- let hImg = self.image!.size.height * animationRect.size.width / self.image!.size.width;
-
- frame.origin.y -= hImg;
- frame.size.height = hImg;
- self.frame = frame;
-
- self.alpha = 0.0;
-
- UIView.animate(withDuration: 1.2, animations: { () -> Void in
-
- self.alpha = 1.0;
-
- var frame = self.animationRect;
- let hImg = self.image!.size.height * self.animationRect.size.width / self.image!.size.width;
-
- frame.origin.y += (frame.size.height - hImg);
- frame.size.height = hImg;
-
- self.frame = frame;
-
- }, completion:{ (value: Bool) -> Void in
-
- self.perform(#selector(LBXScanNetAnimation.stepAnimation), with: nil, afterDelay: 0.3)
-
- })
-
- }
-
- func stopStepAnimating()
- {
- self.isHidden = true;
- isAnimationing = false;
- }
- }
|