zoukankan      html  css  js  c++  java
  • 第七篇、使用UIView的animateWithDuration方法制作简易动画

    import UIKit
    
    class LolitaCircleButton: UIButton {
        
        private var color: UIColor
        private var imageURL: String
        
        init(color: UIColor , imageURL: String) {
            self.color = color
            self.imageURL = imageURL
            super.init(frame: CGRectZero)
            
            commonInit()
            layer.shadowOpacity = 0.3
            layer.shadowOffset = CGSize( 0.0, height: 0.0)
            layer.shadowRadius = 15
        }
        
        func commonInit() {
            setImage(UIImage(named: self.imageURL)?.imageWithColor(self.color), forState: .Highlighted)
            setImage(UIImage(named: self.imageURL), forState: .Normal)
        }
        
        required init?(coder aDecoder: NSCoder) {
            fatalError("init(coder:) has not been implemented")
        }
        
        override func drawRect(rect: CGRect) {
            super.drawRect(rect)
            let path = UIBezierPath(ovalInRect: rect)
            color.setFill()
            path.fill()
        }
        
        override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
            super.touchesBegan(touches, withEvent: event)
            
            color = UIColor.whiteColor()
            setNeedsDisplay()
            
            UIView.animateWithDuration(0.15) {
                self.transform = CGAffineTransformMakeScale(0.9, 0.9)
            }
        }
        
        override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) {
            super.touchesEnded(touches, withEvent: event)
            
            color = UIColor.orangeColor()
            setNeedsDisplay()
            
            transform = CGAffineTransformMakeScale(0.0, 0.0)
            
            UIView.animateWithDuration(0.4, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 0.5, options: [], animations: {
                self.transform = CGAffineTransformIdentity
                }, completion: nil)
        }
        
    }
  • 相关阅读:
    HDU 4069 Squiggly Sudoku
    SPOJ 1771 Yet Another NQueen Problem
    POJ 3469 Dual Core CPU
    CF 118E Bertown roads
    URAL 1664 Pipeline Transportation
    POJ 3076 Sudoku
    UVA 10330 Power Transmission
    HDU 1426 Sudoku Killer
    POJ 3074 Sudoku
    HDU 3315 My Brute
  • 原文地址:https://www.cnblogs.com/HJQ2016/p/5885990.html
Copyright © 2011-2022 走看看