iOS 图片遮罩动画,图片逐渐显示
class AnimationController: UIViewController {/// 背景图private lazy var bgView: UIImageView = {let view = UIImageView(image: UIImage(named: "img1"))return view}()/// 动画显示图片lazy var animateView: UIImageView = {let view = UIImageView(image: UIImage(named: "img"))return view}()/// 遮罩动画 layerprivate var animateLayer: CAShapeLayer?var timer: Timer?var tmpH: CGFloat = 0.1override func viewDidLoad() {super.viewDidLoad()view.addSubview(bgView)view.addSubview(animateView)bgView.snp.makeConstraints { make inmake.center.equalToSuperview()make.width.equalTo(200)make.height.equalTo(500)}animateView.snp.makeConstraints { make inmake.center.equalToSuperview()make.width.equalTo(200)make.height.equalTo(500)}}override func viewDidLayoutSubviews() {super.viewDidLayoutSubviews()startAnimationTimer()}
}extension AnimationController {private func startAnimationTimer() {destroyAnimationTimer()timer = Timer(timeInterval: 0.001, repeats: true, block: { [weak self]_ inguard let weakSelf = self else { return}weakSelf.tmpH += 0.1weakSelf.addMaskLayer(progress: Float(weakSelf.tmpH))})RunLoop.current.add(timer!, forMode: .common)timer?.fire()}private func destroyAnimationTimer() {timer?.invalidate()timer = nil}
}extension AnimationController {private func addMaskLayer(progress: Float) {let viewWidth = animateView.frame.widthlet viewHeight = animateView.frame.heightlet tmpHeight = CGFloat(progress)animateLayer?.removeFromSuperlayer()animateLayer = nillet point1 = CGPoint(x: 0, y: 0)let point2 = CGPoint(x: viewWidth, y: 0)let point3 = CGPoint(x: viewWidth, y: tmpHeight)let point4 = CGPoint(x: 0, y: tmpHeight)let path = UIBezierPath()path.move(to: point1)path.addLine(to: point2)path.addLine(to: point3)path.addLine(to: point4)path.close()animateLayer = CAShapeLayer()animateLayer?.path = path.cgPathanimateView.layer.mask = animateLayer}
}
iOS中layer之mask 详解 - 简书
iOS 图片遮罩动画,图片逐渐显示相关推荐
- iOS GIF 格式动画 图片显示
在 iOS 开发中,我们常使用 SDK 中的 UIImageView 显示图片,使用 UIImage 解码图片文件或数据,其支持 PNG, JEPG, BMP, GIF 等格式.其中 GIF 图片不支 ...
- CSS3鼠标悬停图片遮罩动画js特效
下载地址 纯CSS3图片鼠标悬停动画特效 dd:
- python小游戏编程arcade----坦克动画图片合成
python小游戏编程arcade----坦克动画图片合成 前言 坦克动画图片合成 1.PIL image 1.1 读取文件并转换 1.2 裁切,粘贴 1.3 效果图 1.4 代码实现 2.处理图片的 ...
- 【 iOS 应用开发 】 UIKit 控件 ( 代码生成控件 | UIView 属性方法 | Storyboard | Bundle | Property List | 动画 | 图片内存优化 )
文章目录 一. 代码生成控件 1. 创建设置项目 ( 1 ) 创建项目 ( ① 选择 Create a new Xcode project | ② 创建 Single View Application ...
- java实现gif动画效果(java显示动态图片)
关闭 关闭 脚本之家 软件下载 源码下载 在线工具 网页教程基础 服务器常用软件 手机版 关注微信 网页制作 网络编程 脚本专栏 脚本下载 数据库 CMS教程 电子书籍 平面设计 媒体动画 操作系统 ...
- c android显示gif动画,MFC显示GIF动画图片
本帖则将讨论如何在MFC的对话框里显示GIF动画图片.一些关于传统控件的美化方法正在研究当中会陆续发帖的. 这是本帖用到的一个VS2008例程. 附件 GifPicture.rar (138.1 K ...
- 网页无法显示GIF动画图片解决办法
在给客户实施项目时,服务器装的是windows2003, IE安全级别较高,发现网页无法显示GIF动画图片. 解决办法 IE->菜单栏--->工具---> InterNet选项--- ...
- html5鼠标滑过图片 图片弹出层,纯CSS3鼠标滑过图片遮罩层动画特效
简要教程 这是一款使用纯CSS3制作的鼠标滑过图片遮罩层动画特效.该特效中,当鼠标滑过或悬停在图片上面时,会在图片上出现遮罩层动画,展示出图片的描述信息和链接图标按钮. 使用方法 在页面中引入boot ...
- java动态图片_java实现gif动画效果(java显示动态图片)
关闭 关闭 java实现gif动画效果(java显示动态图片) 作者: 字体:[增加 减小] 类型:转载 时间:2014-04-29我要评论 这篇文章主要介绍了java实现gif动画效果示例(java ...
- 关于IOS中通过图片实现动画效果
其实,让图片生成动画特别简单,就是快速轮播一组图片,形成视觉上的动画效果.需要用到的就是UIImageView,并且设置它的一些属性就可行了.包括以前很流行的Tom猫等小游戏,都是可以通过这个来实现. ...
最新文章
- OpenGL中不可以有两个以上myDisplay函数,在主函数中生效的是最后调用的那个
- 深度学习入门之感知器(原理+代码)
- php 其他页面获取session_PHP五十个提升执行效率的小技巧,和常见问题
- 怎么打开/查看MySQL的SQL记录
- 设计模式之三:装饰者模式(简单实现(星巴兹咖啡))
- 【共读Primer】8.[2.1] 基本内置类型(2) Page32
- 直接选择排序算法时间 / 空间复杂度
- linux文件系统基础知识--目录项 dirent、inode 和数据块
- 【Android安全】ActivityManager.isUserAMonkey API
- 超好的 MARKINGCODE查询网 电子元件丝印
- C/S、B/S架构模式的三层结构特点分析
- 震碎认知,将原理融会贯通到顶点的SpringBoot实战项目
- 身份证工具-IdcardUtil案例
- P4707 重返现世 扩展 MinMax 容斥+DP
- python第二版课后习题答案_《python核心编程第二版》课后习题6-12答案
- 使用包含排斥原理求 1~120 之间的素数个数。
- 【教学类-12-02】20221105《连连看12*4-分栏4-不重复24个)(小班主题《白天与黑夜》)
- 微信企业号开发三:主动调用模式之发送news消息
- Linux下的softlink和symbolic link(hardlink)
- Java实现斗地主实例