第七篇使用uiview的animatewithduration方法制作简易动画

久冬不雨 久冬不雨     2022-08-05     633

关键词:

 

技术分享

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(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)
    }
    
}

 

flask第七篇flask中的wtforms使用

一、简单介绍flask中的wtformsWTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证。安装:pip3installwtforms二、简单使用wtforms组件1、用户登录具体代码:fromflaskimportFlask,render_template,request,redirectfromwtforms.fieldsimp... 查看详情

第七篇:使用fcntl函数获取,设置文件的状态标志

前言    当打开一个文件的时候,我们需要指定打开文件的模式(只读,只写等)。那么在程序中如何获取,修改这个文件的状态标志呢?本文将告诉你如何用fcntl函数获取指定文件的状态标志。解决思路   ... 查看详情

springcloud第七篇|声明式服务调用feign

本文是SpringCloud专栏的第七篇文章,了解前六篇文章内容有助于更好的理解本文:SpringCloud第一篇|SpringCloud前言及其常用组件介绍概览SpringCloud第二篇|使用并认识Eureka注册中心SpringCloud第三篇|搭建高可用Eureka注册中心SpringCloud第四... 查看详情

第七篇图像分类的评价指标

文章目录摘要混淆矩阵准确率(Accuracy)精确率(Precision)召回率(Recall)F1-score代码样例 查看详情

混合编程jni第七篇之jni的命令行们(代码片段)

 系列目录:【混合编程Jni】系列目录_香菜聊游戏的博客-CSDN博客        今天将继续JNI的学习,jni编程中常使用的一些命令行工具如何使用事半功倍,今天就快速的过一下,希望在接下来的使用中... 查看详情

第七篇:两个经典的文件io程序示例

前言    本文分析两个经典的C++文件IO程序,提炼出其中文件IO的基本套路,留待日后查阅。程序功能  程序一打印用户指定的所有文本文件,程序二向用户指定的所有文本文件中写入数据。程序一代码及其注释1#... 查看详情

第七篇图像分类的评价指标

文章目录摘要1、混淆矩阵2、准确率(Accuracy)3、精确率(Precision)4、召回率(Recall)5、F1-score6、代码样例 查看详情

第七篇camunda系列-身份服务(代码片段)

身份服务  在流程定义中在任务结点的assignee固定设置任务负责人,在流程定义时将参与者固定设置在.bpmn文件中,如果临时任务负责人变更则需要修改流程定义,系统可扩展性差。针对这种情况可以给任务设置多个候选人或... 查看详情

第七篇:面向对象高级

第七篇:面向对象高级   PYTHON-绑定方法反射内置函数PYTHON-组合封装多态property装饰器 查看详情

springboot之旅第七篇-docker

一、引言记得上大三时,要给微机房电脑安装系统,除了原生的操作系统外,还要另外安装一些必要的开发软件,如果每台电脑都重新去安装的话工作量就很大了,这个时候就使用了windows镜像系统,我们将要安装的软件装好打... 查看详情

coreanimation文档翻译(第七篇)—改变layer的默认动画

前言核心动画使用action对象实现它的可视化动画。一个action对象是指遵循CAAction协议并定义了Layer相关的动画行为的对象。所有的CAAnimation对象实现了这个协议,无论何时Layer的属性发生变化的时候就会执行对应的action对象(包含C... 查看详情

directx11第七篇光照模型——环境光

      本系列文章主要翻译和参考自《Real-Time3DRenderingwithDirectXandHLSL》一书(感谢原书作者),同时会加上一点个人理解和拓展,文章中如有错误,欢迎指正。      这里是书中的代码和资源。      本... 查看详情

r语言学习第七篇:列表(代码片段)

列表(List)是R中最复杂的数据类型,一般来说,列表是数据对象的有序集合,但是,列表的各个元素(item)的数据类型可以不同,每个元素的长度可以不同,是R中最灵活的数据类型。列表项可以是列表类型,因此,列表被认... 查看详情

第七篇css选择器实现字段解析

CSS选择器的作用实际和xpath的一样,都是为了定位具体的元素   举例我要爬取下面这个页面的标题In[20]:title=response.css(".entry-headerh1")In[21]:titleOut[21]:[<Selectorxpath="descendant-or-self::*[@classandcontains(concat(‘‘,n 查看详情

android基础第七篇

转载请标明出处:http://blog.csdn.net/gj782128729/article/details/52424876;本文出自:【高境的博客】1.清单文件AndroidManifest.xml1.1.清单文件的作用每个Android应用都需要一个名为AndroidManifest.xml的程序清单文件,这个清单文件名是固定的并且... 查看详情

第七篇--如何改变vs2017版的背景

改变背景 C:\Users\zsunny\AppData\Local\Microsoft\VisualStudio\15.0_9709afbe\Extensions\o0g0c52k.3od\Images  查看详情

docker系列-第七篇docker构建springboot应用

1.基于Dockerfile构建SpringBoot镜像1.1准备工作将SpringBoot项目通过maven打成jar包mvncleanpackage#使用maven打包项目1.2使用Dockerfile构建镜像step1在存放jar所在目录下创建Dockerfile文件touchDockerfilestep2编辑Dockerfile增加以下内容FROMjava:8MAINTAINERniuga 查看详情

docker系列-第七篇docker构建springboot应用

1.基于Dockerfile构建SpringBoot镜像1.1准备工作将SpringBoot项目通过maven打成jar包mvncleanpackage#使用maven打包项目1.2使用Dockerfile构建镜像step1在存放jar所在目录下创建Dockerfile文件touchDockerfilestep2编辑Dockerfile增加以下内容FROMjava:8MAINTAINERniuga 查看详情