首页 > 代码库 > 第七篇、使用UIView的animateWithDuration方法制作简易动画
第七篇、使用UIView的animateWithDuration方法制作简易动画
import UIKitclass 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(width: 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) } }
第七篇、使用UIView的animateWithDuration方法制作简易动画
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。