UIViewAnimation动画与Core Animation的CATransition类动画

2023-11-07

  1. - (void)leftClick {   
  2.   
  3.     [UIView beginAnimations:nil context:nil];  
  4.     //display mode, slow at beginning and end  
  5.     [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
  6.     //动画时间  
  7.     [UIView setAnimationDuration:1.0f];  
  8.     //使用当前正在运行的状态开始下一段动画  
  9.     [UIView setAnimationBeginsFromCurrentState:YES];  
  10.     //给视图添加过渡效果  
  11.     [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:imageView cache:YES];  
  12.     [UIView commitAnimations];  
  13. }  
  14.   
  15. - (void)rightClick {  
  16.       
  17.     [UIView beginAnimations:nil context:nil];  
  18.     //display mode, slow at beginning and end  
  19.     [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
  20.     //动画时间  
  21.     [UIView setAnimationDuration:1.0f];  
  22.     //使用当前正在运行的状态开始下一段动画  
  23.     [UIView setAnimationBeginsFromCurrentState:YES];  
  24.     //给视图添加过渡效果  
  25.     [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:imageView cache:YES];  
  26.     [UIView commitAnimations];  
  27.       
  28. }  
  29.   
  30. - (void)upClick {   
  31.       
  32.     [UIView beginAnimations:nil context:nil];  
  33.     //display mode, slow at beginning and end  
  34.     [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
  35.     //动画时间  
  36.     [UIView setAnimationDuration:1.0f];  
  37.     //使用当前正在运行的状态开始下一段动画  
  38.     [UIView setAnimationBeginsFromCurrentState:YES];  
  39.     //给视图添加过渡效果  
  40.     [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:imageView cache:YES];  
  41.     [UIView commitAnimations];  
  42. }  
  43. - (void)downClick {   
  44.       
  45.     [UIView beginAnimations:nil context:nil];  
  46.     //display mode, slow at beginning and end  
  47.     [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
  48.     //动画时间  
  49.     [UIView setAnimationDuration:1.0f];  
  50.     //使用当前正在运行的状态开始下一段动画  
  51.     [UIView setAnimationBeginsFromCurrentState:YES];  
  52.     //给视图添加过渡效果  
  53.     [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:imageView cache:YES];  
  54.     [UIView commitAnimations];  
  55. }  
  56.   
  57. /*    
  58.  CATransition的type属性 
  59.   
  60.  1.#define定义的常量 
  61.      kCATransitionFade   交叉淡化过渡 
  62.      kCATransitionMoveIn 新视图移到旧视图上面 
  63.      kCATransitionPush   新视图把旧视图推出去 
  64.      kCATransitionReveal 将旧视图移开,显示下面的新视图 
  65.   
  66.  2.用字符串表示 
  67.      pageCurl            向上翻一页 
  68.      pageUnCurl          向下翻一页 
  69.      rippleEffect        滴水效果 
  70.      suckEffect          收缩效果,如一块布被抽走 
  71.      cube                立方体效果 
  72.      oglFlip             上下翻转效果   
  73. */  
  74. - (void)MyCAnimation1 {   
  75.       
  76.     CATransition *animation = [CATransition animation];  
  77.     //动画时间  
  78.     animation.duration = 1.0f;  
  79.     //display mode, slow at beginning and end  
  80.     animation.timingFunction = UIViewAnimationCurveEaseInOut;  
  81.     //过渡效果  
  82.     animation.type = kCATransitionMoveIn;  
  83.     //过渡方向  
  84.     animation.subtype = kCATransitionFromTop;  
  85.     //添加动画  
  86.     [imageView.layer addAnimation:animation forKey:nil];  
  87. }  
  88.   
  89. - (void)MyCAnimation2 {   
  90.       
  91.     CATransition *animation = [CATransition animation];  
  92.     //动画时间  
  93.     animation.duration = 1.0f;  
  94.     //display mode, slow at beginning and end  
  95.     animation.timingFunction = UIViewAnimationCurveEaseInOut;  
  96.     //在动画执行完时是否被移除  
  97.     animation.removedOnCompletion = NO;  
  98.     //过渡效果  
  99.     animation.type = @"pageCurl";  
  100.     //过渡方向  
  101.     animation.subtype = kCATransitionFromRight;  
  102.     //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果  
  103.     animation.fillMode = kCAFillModeForwards;  
  104.     //动画停止(在整体动画的百分比).  
  105.     animation.endProgress = 0.7;  
  106.     [imageView.layer addAnimation:animation forKey:nil];  
  107. }  
  108.   
  109. - (void)MyCAnimation3 {   
  110.       
  111.     CATransition *animation = [CATransition animation];  
  112.     //动画时间  
  113.     animation.duration = 1.0f;  
  114.     //display mode, slow at beginning and end  
  115.     animation.timingFunction = UIViewAnimationCurveEaseInOut;  
  116.     //过渡效果  
  117.     animation.type = @"pageUnCurl";  
  118.     //过渡方向  
  119.     animation.subtype = kCATransitionFromRight;  
  120.     //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果  
  121.     animation.fillMode = kCAFillModeBackwards;  
  122.     //动画开始(在整体动画的百分比).  
  123.     animation.startProgress = 0.3;  
  124.     [imageView.layer addAnimation:animation forKey:nil];  
  125. }  
  126.   
  127. - (void)MyCAnimation4 {   
  128.       
  129.     [NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(updateButterfly) userInfo:nil repeats:YES];  
  130. }  
  131.   
  132. - (void)updateButterfly {  
  133.   
  134.     butterflyView.animationDuration = 0.75f;  
  135.     [self.view addSubview:butterflyView];  
  136.     [butterflyView startAnimating];  
  137.     butterflyView.center = [butterflyView randomCenterInView:self.view withInset:10.0f];  
  138.   
  139. }  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UIViewAnimation动画与Core Animation的CATransition类动画 的相关文章

  • Canvas 动画在 FireFox 中卡顿,但在 Chrome 中完美

    我最近开始做一些 HTML5 Canvas 的东西 并且很高兴地开展我的业务 在 Chrome 中测试东西 直到我决定尝试我在 Firefox 中所做的事情 效果不太好 这是我正在做的事情的一个简单的例子 设置基本的 requestAnim
  • Qt - 如何在 QGraphicsPixmapItem 中显示 gif(动画)图像

    我正在尝试在 QGraphicsPixmapItem 中使用一张闪烁的图像 显示的图像没有动画效果 下面是原始图像 下面是在 QGraphicsPixmapItem 中使用此图像的 QGraphicsScene 有人能说一下如何实现这一目标
  • UICollectionViewCell - 内容不会与单元格的 contentView 一起动画

    问题看起来像这样 http i imgur com 5iaAiGQ mp4 https i imgur com 5iaAiGQ mp4 红色是cell contentView的颜色 这是代码 https github com nezhybo
  • 即使设置为 false,clipChildren 也不起作用?

    在我的应用程序中 我尝试使用动画移动图像 当我尝试制作动画时 即使我使用了图像 图像也会被剪切clipChildren每个 xml 块中均为 false
  • 通过使用计时器(或处理程序)更改 ImageView 中的图像来创建动画

    我想通过更改 ImageView 内的帧来创建一个简单的动画 我不想使用 AnimationDrawable 因为我需要在帧更改或动画停止时接收事件 以便能够向后播放 重新启动等等 我的问题是 尽管 setImageDrawable 被调用
  • 从 Android 中的过渡动画中排除 BottomNavigation

    我一直在四处寻找 但找不到有助于解决这个特定问题的答案 我的应用程序有一个自定义滑入 滑出效果 如下所示 Intent intent new Intent getApplicationContext MyActivity class sta
  • 在 D3 中在外部加载的 svg 图形上绘图

    我已经从 svg 文件加载了外部图形 我想尝试在其上绘图 但不知道如何操作 我的简单 d3 代码在这里
  • relativelayout导致动画不起作用?

    我有一个活动 其布局仅包含一个 VideoView 这是 XML
  • viewController 中的 Sprite 粒子系统动画

    I create a macOS single window application and add a Sprite Particle System file with template Stars and the visual effe
  • ExpandableListView 的动画

    是否可以为 ExpandableListView 应用展开或折叠动画 可以使用一个简单的 ListView 来完成 该 ListView 包含最初隐藏的视图和扩展动画的自定义类 基本思想是从View GONE然后逐渐将边距大小从负值调整为所
  • NSTextField 弹跳截断的文本而不是换行

    我想知道是否有一种简单的方法来 弹跳 或滚动NSTextField文本太长而无法显示 例如 lt scroll This is a rather large pi ece of text 因此 在此示例中 文本将滚动到末尾 显示消息的其余部
  • 使用动画过滤 UITableViewCells - iPhone 开发

    这看起来很简单 但到目前为止我还无法找到解决方案 基本上我有一个带有两个选项的分段控件 第一个是默认值 加载时自动显示 选择后会在表视图中显示所有行 第二个是限制显示行的过滤器 这与 iPhone 电话应用程序的 最近 选项卡上使用的设置完
  • SVG - 可以在一侧添加笔画破折号渐变或透明形式

    我创建了一个 SVG 动画 在其中允许中风虚线阵列移动 我是否可以在中风破折号数组的尾部添加渐变并保持一侧透明 如示例中所示 svg main width 700px margin 30px auto position relative s
  • 如何在一个元素上实现多个 CSS 过渡?

    这是一个非常简单的问题 但我找不到关于 CSS 转换属性的很好的文档 这是 CSS 片段 nav a text transform uppercase text decoration none color d3d3d3 line heigh
  • React Native:约束 Animated.Value

    我正在制作一个 React Native 应用程序 场景是这样的 我希望用户能够平移视图 但不完全按照他想要的方式 我想约束视图被拖动时可以移动的距离由用户 我已经阅读了两者的文档PanResponder and AnimatedAPI 多
  • Flipboard 动画

    有谁知道如何构建像 Flipboard 应用程序一样的翻转动画 谢谢 如果你指的是翻页过渡 请查看我编写的 OpenGL 过渡类 https github com epatel EPGLTransitionView https github
  • Brush 属性的 WPF ColorAnimation

    我想知道是否有人可以帮助我 我有一个标签 当在后面的代码中调用方法时 我需要能够在任意两种颜色之间交叉淡入淡出 迄今为止我最好的尝试 Private OldColor as Color Colors White Sub SetPulseCo
  • Android:禁用 1.5 纸杯蛋糕动画过渡

    长话短说 如何禁用活动之间的屏幕转换 如果您愿意的话 我们实现了自己的选项卡处理程序 现在它正在选项卡之间进行转换 这看起来很俗气 谢谢 Chris See android content Intent FLAG ACTIVITY NO A
  • Tween JS 基础知识之三个 JS 立方体

    我是 Tween JS 的新手 尝试使用 Tween 制作一个向右移动的简单动画 下面是我在 init 函数中的代码 我使用的是三个 JS var geometry new THREE CylinderGeometry 200 200 20
  • 如何移动图像(动画)?

    我正在尝试在 x 轴上移动船 还没有键盘 我如何将运动 动画与boat png而不是任何其他图像 public class Mama extends Applet implements Runnable int width height i

随机推荐

  • 计算机视觉——图像视觉显著性检测

    目录 系列文章目录 零 问题描述 一 图像显著性检测 1 定义 2 难点 二 常用评价标准和计算方法 1 综述 2 ROS曲线详述 2 1 混淆矩阵 2 2 ROC曲线简介 2 3 ROC曲线绘制及其判别标准 2 4 ROC曲线补充 三 F
  • 利用 Pytorch 加载词向量库文件

    1 示例代码 完整代码 import torch from torch nn import Embedding 载入讯飞词向量文件 word vector file Downloads tencent ailab embedding zh
  • 第四章——蛮力法

    蛮力法概述 蛮力法也称穷举法 枚举法 或暴力法 是一种简单的直接解决问题的方法 通常根据问题的描述和所涉及的概念定义 对问题所有可能的状态 结果 一一进行测试 直到找到解或将全部可能的状态都测试一遍为止 蛮力法的 力 指的是计算机的运算能力
  • 腾讯云IM即时通讯

    获取UserSig工具类 import com alibaba fastjson JSONObject import java nio charset StandardCharsets import java util Base64 imp
  • 显示本地未连接服务器ip,本地连接显示未识别怎么办

    一个朋友因为网络连接的问题要抓狂了 使用ADSL PPPOE进行宽带上网 连接的时候图标那里一直有一个圈在转 始终连接不上 将鼠标移动过去一查看 原来这里显示的是本地连接显示未识别 那么本地连接显示未识别怎么办呢 接下来大家跟着学习啦小编一
  • Java对象List使用陷阱

    Java由一个对象List筛选或者浅复制得到的另一个对象List里面的引用和原List里的引用指向同一个地址 修改其中一个List里的共有对象时 同时会影响到两个List里存放的对象 package test import java uti
  • DELL戴尔灵越笔记本电脑Inspiron 13 5320原装Win11系统恢复出厂oem原厂专用系统

    DELL戴尔灵越笔记本电脑 灵越Inspiron 13 5320原装Windows11系统恢复出厂oem原厂专用系统 系统自带所有驱动 办公软件 MyDell 迈克菲等预装程序 链接 https pan baidu com s 1j9sYT
  • idea插件Coverage(用例覆盖率)使用

    idea插件Coverage 用例覆盖率 使用 选择测试用例中要执行的包 类或方法 右键选择Run with Coverage 执行结束后可在右侧查看覆盖率结果 可以点击导出按钮导出覆盖率报告 注意 若只执行了包中的某个类或方法 则生成的覆
  • linux下socket编程实现一个服务器连接多个客户端

    使用socekt通信一般步骤 1 服务器端 socker 建立套接字 绑定 bind 并监听 listen 用accept 等待客户端连接 2 客户端 socker 建立套接字 连接 connect 服务器 连接上后使用send 和recv
  • 向后兼容

    检查浏览器是否兼容这个方法 加一句 window onload function if document getElementsByTagName return false var links document getElementsByT
  • 1041 考试座位号

    每个 PAT 考生在参加考试时都会被分配两个座位号 一个是试机座位 一个是考试座位 正常情况下 考生在入场时先得到试机座位号码 入座进入试机状态后 系统会显示该考生的考试座位号码 考试时考生需要换到考试座位就座 但有些考生迟到了 试机已经结
  • 【华为OD统一考试B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 两数之和(C++)

    两数之和 C 两数之和 问题描述 问题求解 问题总结 两数之和 问题描述 给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只
  • T-Kernel 里 sleep API

    T Kernel 里有类似于 msleep 的函数 tk slp tsk TMO tmout TMO Timeout time Time base 1 millisecond 32 bit or higher signed integer
  • LeetCode62:不同路径(深搜 && 动态规划)

    题目 一个机器人位于一个 m x n 网格的左上角 起始点在下图中标记为 Start 机器人每次只能向下或者向右移动一步 机器人试图达到网格的右下角 在下图中标记为 Finish 问总共有多少条不同的路径 来源 力扣 LeetCode 链接
  • python itertools功能详解

    python itertools功能详解 介绍 itertools是python内置的模块 使用简单且功能强大 这里尝试汇总整理下 并提供简单应用示例 如果还不能满足你的要求 欢迎加入补充 使用只需简单一句导入 import itertoo
  • LeetCode 剑指 Offer 13. 机器人的运动范围

    目录结构 1 题目 2 题解 1 题目 地上有一个m行n列的方格 从坐标 0 0 到坐标 m 1 n 1 一个机器人从坐标 0 0 的格子开始移动 它每次可以向左 右 上 下移动一格 不能移动到方格外 也不能进入行坐标和列坐标的数位之和大于
  • 行走在路,偶有弯道——致这半年

    不知不觉半年又转瞬即逝 不得不说总结是一个回顾过去开创未来的时刻 一直在拖着半年总结 因为害怕面对自己不好的一面 害怕想象半年前的目前 对比半年后的成果 但是总结终究是要有的 因为有总结 我们才会更加系统的认识自己 反思自己 然后在今后的生
  • linux的文件安装路径

    如果是别人发布的二进制包 可执行文件通常都安装到 usr bin 下面 如果是自己从源代码安装的 可执行文件通常都在 usr local bin 下面 除非配置时指定了安装位置 例如 rpm ivh xxx1 rpm 可执行文件通常都安装到
  • UIViewAnimation动画与Core Animation的CATransition类动画

    void leftClick UIView beginAnimations nil context nil display mode slow at beginning and end UIView setAnimationCurve UI