频道栏目
首页 > 资讯 > 其他 > 正文

Swift - RotateView

16-08-16        来源:[db:作者]  
收藏   我要投稿

效果

 

源码

https://github.com/YouXianMing/Swift-Animations

//
//  RotateView.swift
//  Swift-Animations
//
//  Created by YouXianMing on 16/8/14.
//  Copyright © 2016年 YouXianMing. All rights reserved.
//

import UIKit

// MARK: Public class : RotateView

class RotateView: UIView {

    // MARK: Properties.
    
    var rotateDuration : NSTimeInterval = 0.25
    
    // MARK: Animation method.
    
    func changeToUpAnimated(animated : Bool) {
        
        UIView.animateWithDuration((animated == true ? self.rotateDuration : 0.0)) {
            
            self.transform = self.defaultTransform
        }
    }
    
    func changeToLeftAnimated(animated : Bool) {
        
        UIView.animateWithDuration((animated == true ? self.rotateDuration : 0.0)) {
            
            self.transform = CGAffineTransformRotate(self.defaultTransform, CGFloat(-M_PI_2))
        }
    }
    
    func changeToRightAnimated(animated : Bool) {
        
        UIView.animateWithDuration((animated == true ? self.rotateDuration : 0.0)) {
            
            self.transform = CGAffineTransformRotate(self.defaultTransform, CGFloat(M_PI_2))
        }
    }
    
    func changeToDownAnimated(animated : Bool) {
        
        UIView.animateWithDuration((animated == true ? self.rotateDuration : 0.0)) {
            
            self.transform = CGAffineTransformRotate(self.defaultTransform, CGFloat(M_PI))
        }
    }
    
    // MARK: Private value & func & system method.
    
    private var defaultTransform : CGAffineTransform!
    
    override init(frame: CGRect) {
        
        super.init(frame : frame)
        defaultTransform = self.transform
    }
    
    required init?(coder aDecoder: NSCoder) {
        
        fatalError("init(coder:) has not been implemented")
    }
}

 

相关TAG标签
上一篇:模糊匹配及Solr关键词自动提示应用
下一篇:STL总结
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站