[Xcode10 实际操作]六、媒体与动画-(8)使用CATransaction Reveal制作渐显动画

本文将演示如何制作渐显动画。

图片的不透明度逐渐发生了变化,从而产生作渐显动画的效果。

在项目导航区,打开视图控制器的代码文件【ViewController.swift】

 1 import UIKit
 2
 3 class ViewController: UIViewController {
 4
 5     override func viewDidLoad() {
 6         super.viewDidLoad()
 7         // Do any additional setup after loading the view, typically from a nib.
 8
 9         //创建一个位置在(0,100),尺寸为(320,211)的显示区域
10         let rect = CGRect(x: 0, y: 100, width: 320, height: 211)
11         //初始化一个图像视图,并设置其位置和尺寸信息
12         let imageView = UIImageView(frame: rect)
13
14         //从项目资源文件中加载一张图片
15         let image = UIImage(named: "Picture")
16         //给图像视图指定需要显示的图片
17         imageView.image = image
18
19         //将图像视图,添加到当时视图控制器的根视图
20         self.view.addSubview(imageView)
21
22         //可以使用两种方法来实现动画效果
23         //方法一:视图层面的
24         //方法二:使用过渡动画
25         //它实现了层的过渡动画,因此可以进行更低层次的控制
26         let animation = CATransition()
27         //设置动画的时长为2秒
28         animation.duration = 2
29         //设置动画的播放速度为由慢至快
30         animation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.easeOut)
31         //设置动画的类型为渐显动画
32         animation.type = CATransitionType.reveal
33
34         //将动画指定给图像视图的层
35         imageView.layer.add(animation, forKey: "Reveal")
36     }
37
38     override func didReceiveMemoryWarning() {
39         super.didReceiveMemoryWarning()
40         // Dispose of any resources that can be recreated.
41     }
42 }

原文地址:https://www.cnblogs.com/strengthen/p/10034495.html

时间: 2024-10-18 21:40:37

[Xcode10 实际操作]六、媒体与动画-(8)使用CATransaction Reveal制作渐显动画的相关文章

[Xcode10 实际操作]六、媒体与动画-(9)使用CATransaction Push制作入场动画

本文将演示如何制作入场动画. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib. 8

[Xcode10 实际操作]六、媒体与动画-(16)使用MediaPlayer框架播放视频

本文将演示视频的播放功能. 在项目名称上点击鼠标右键,弹出右键菜单, 选择[Add Files to "DemoApp"],往项目中导入文件命令. 点击选择一个影片素材->[Add] 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 //AVFoundation框架用来处理基于时间的媒体数据. 3 //可以用来检查.创建.编辑或是重新编码媒体文件. 4 //也可以从设备中获取输入流 5 //在视频实时播放时操作和

[Xcode10 实际操作]六、媒体与动画-(7)遍历系统提供的所有滤镜

本文将演示系统到底提供了多少滤镜供开发者使用,并了解每个滤镜都有哪些参数需要配置. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 //首先导入要使用的框架,该框架提供了强大和高效的图像处理功能, 3 //用来对基于像素的图像进行分析.操作和特效处理 4 import CoreImage 5 6 class ViewController: UIViewController { 7 8 override func viewDid

[Xcode10 实际操作]六、媒体与动画-(5)使用CoreImage框架给图片添加马赛克效果

本文将演示如何使用CoreImage图像处理框架,给图片添加像素化的滤镜效果. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 //首先导入要使用的框架,该框架提供了强大和高效的图像处理功能, 3 //用来对基于像素的图像进行分析.操作和特效处理 4 import CoreImage 5 6 class ViewController: UIViewController { 7 8 override func viewDidLo

[Xcode10 实际操作]六、媒体与动画-(6)使用UIBlurEffect给图片添加模糊效果

本文将演示如何给图像添加模糊效果. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib.

Windows Phone 7 ListBox 列表项渐显加载动画学习笔记

在wp7程序中,当程序功能越来越复杂时,性能问题是我们不得不考虑的一个问题.在聊天列表中,如果聊天项过多,而且项目UI组件足够复杂时, 我们不得不想尽办法让UI尽快加载.所以有一种可行的方案,就是像QQ聊天列表一样,从上至下,列表项逐一加载(加载完第一项,再加载第二项,再加载第三项,给用户尽快的UI响应,也不至于等待到显示所有的列表项. 在我们的例子中,我还给每个列表项显示的过程中加入了渐显动画,这样当列表项足够复杂时,也能表现出比较好的展示效果. 实现的基本原理: 实现的原理也不难,主要的思路

GIS基础软件及操作(六)

原文 GIS基础软件及操作(六) 练习六.空间分析的应用 1.加深对缓冲区分析基本原理.方法的认识:2.熟练掌握距离制图创建缓冲区技术方法.3.掌握利用缓冲区分析方法解决地学空间分析问题的能力. 1. 距离制图-创建缓冲区 数据准备:图层文件point.shp,lline.shp,polygon.shp 1.1 点要素图层的缓冲区分析 1) 在ArcMap中新建地图文档,加载图层:StudyArea,point 2) 打开Arctoolbox,执行命令<Spatial Analyst工具>-&

[Xcode10 实际操作]九、实用进阶-(25)使用Storyboard(故事版)的约束功能,使项目快速适配各种分辨率的设备

本文将演示使用故事版的约束功能,使项目快速适配各种分辨率的设备. 在项目导航区打开并编辑主故事版[Main.storyboard]. 在当前故事版中,已经存在一个适配4寸屏幕的界面, 点击设备名称,更改设备类型.在弹出的模拟器列表中,选择一款拥有4.7寸屏幕的模拟器. 然后通过系统提供的约束功能,对各尺寸屏幕进行适配. 在故事版文档框架区中的[View Controller],点击显示[MainView]视图下的所有子元素. 该视图是添加的自定义视图,尺寸与根视图相同,并且包含了页面中的所有元素

iOS开发——动画编程OC篇&amp;(一)基本动画

基本动画 一.简单介绍 Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就可以实现非常强大的功能. Core Animation是跨平台的,可以用在Mac OS X和iOS平台. Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程.不阻塞主线程,可以理解为在执行动画的时候还能点击(按钮). 要注意的是,Core Animation是直接作用在CALayer上的,