Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >swift的UIView动画控件

swift的UIView动画控件
EN

Stack Overflow用户
提问于 2020-08-04 01:09:08
回答 1查看 74关注 0票数 0

我正在用UIView动画功能测试一些东西,我对你对动画缺乏控制感到有点困惑。也许我错过了什么

代码语言:javascript
运行
AI代码解释
复制
          UIView.animate(
            withDuration: TimeInterval(Int.random(in: 20 ..< 25)),
            delay: TimeInterval(cloudConfig.delay),
            options: [
                UIView.AnimationOptions.curveLinear,
                UIView.AnimationOptions.repeat,
            ],
            animations: {
                self.view.transform = CGAffineTransform(translationX: width, y: 0)
                self.parent!.layoutIfNeeded() // important for the animation
            },
            completion: { _ in
                print("hurray I know when it ends, if it would fire on repeat as well :) it does not")
            }
        )

此动画只是将视图从左向右移动,并重复该过程。我似乎在api中找不到任何东西,它允许我寻找动画的特定时间并从那里开始。或者简单的事情,比如暂停和播放,或者获取当前的播放位置。有没有什么方法可以控制动画,它几乎就像css动画--零控制。

谢谢你的建议

EN

回答 1

Stack Overflow用户

发布于 2020-08-04 01:55:16

您正在使用的UIView类函数UIView.animate(withDuration:delay:options:animations:completion:)没有为您提供您所询问的任何内容(在动画中查找特定时间、暂停/恢复、获取当前动画位置的能力)。

也就是说,不同的UIView.animate()函数通过创建CABasicAnimation动画并在视图的层上运行它们来工作。可以使用其中一个UIView.animate()函数创建动画,然后进入结果层动画并执行您所描述的操作。它没有很好的文档,令人困惑和繁琐,但它是可能的。我在2015年写了一篇博文,展示了如何(用Objective-C) http://wareto.com/keyframe-view-animations来做这些事情

这篇文章的代码可以在https://github.com/DuncanMC/KeyframeViewAnimations上找到

可以通过操纵层的speed、beginTime和timeoffset属性来暂停、恢复或来回移动层动画。

我已经有几年没有看过这段代码了,也没有尝试在Swift中重写它,但如果你想知道如何做,它确实可以作为一个路线图。(请注意,它既复杂又繁琐。)

正如TeeJaay提到的,有一个较新的动画类,UIViewPropertyAnimator,它支持暂停和恢复动画,将它们移动到特定点等。如果你需要这些功能,我建议你去看看。你应该能够在网上找到它的教程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63238898

复制
相关文章
腾讯云上免费部署HTTPS
最近在写微信小程序的时候,微信小程序需要所有的请求接口都部署在https协议上,于是就研究了一下怎么在腾讯云上部署https环境,发现还是比较简单的,首先我的服务器环境是Ubuntu 16.04, LAMP的环境。
Originalee
2018/08/30
47.9K8
腾讯云上免费部署HTTPS
WordPress使用腾讯云CDN配置如何实现https访问?
WordPress使用腾讯云CDN配置如何实现https访问? 最近有很多站长朋友问腾讯云CDN配置如何实现https访问?下面小编赵一八笔记以WordPress模板为例,希望能够帮到大家。 一.腾讯
用户7261497
2020/12/03
4.9K0
WordPress使用腾讯云CDN配置如何实现https访问?
腾讯云https认证
3.填写域名资料: 1、通用名称就是你的域名 2、申请邮箱填写你的常用邮箱 3、证书备注名:填写一个易记的就行 4、私钥密码:可不填写 6、所属项目:默认项目即可
Lansonli
2021/10/09
11.3K0
申请免费的腾讯云SSL证书实现https访问教程
本教程教你免费申请腾讯的1年免费使用的SSL证书。腾讯云SSL证书是免费使用的可以尝试一下,已经收录的站需要在站长平台开启网站改版规则,不然会影响优化
主机优惠教程
2019/04/02
10.5K0
申请免费的腾讯云SSL证书实现https访问教程
wordpress网站使用腾讯云CDN加速并实现https访问教程
wordpress无疑是全球最好的博客,广受好评,很多新学建站的朋友都会使用到,在腾讯云上部署wordpress博客也比较方便,详细教程可以参考腾讯云:基于腾讯云搭建WordPress
主机优惠教程
2019/04/03
9.5K0
wordpress网站使用腾讯云CDN加速并实现https访问教程
腾讯域名Https访问,Tomcat配置详解
1.腾讯云里面SSL证书有有申请证书按钮,点击进行申请,有一个免费一年的,直接按照正常流程填写完等待审核就可以啦 image-1646982768015.png image-1646982772760.png 2.审核成功之后,就可以看到自己申请的证书了,然后点击下载,再把你下载的附件解压 image-1646982784693.png 3.解压之后你打开文件夹,你会发现是下面的样子,我们今天说的是Tomcat的配置方法 image-1646982797556.png 4. 把上面文件夹的目录
芈亓
2022/06/17
4.1K0
腾讯域名Https访问,Tomcat配置详解
【腾讯云的1001种玩法】IIS7实现全站HTTPS访问
CloudZ
2017/02/28
4.9K0
【腾讯云的1001种玩法】IIS7实现全站HTTPS访问
Tomcat创建HTTPS访问,java访问https
一 https和ssL HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP
Ryan-Miao
2018/03/13
2.4K0
Tomcat创建HTTPS访问,java访问https
腾讯云SpringBoot部署 + HTTPS配置
springboot可以打包为jar和war,jar不多说了,最近的一个工程需要打包为war发布,大致说一下吧: 先看一下项目的大致结构: 第一步,需要排除springboot自带的tomcat插件
风间影月
2018/04/18
8.3K0
腾讯云SpringBoot部署 + HTTPS配置
一文秒懂!腾讯云ES HTTPS 集群访问通信最佳实践
作者:吴容,腾讯云Elasticsearch高级开发工程师 Elasticsearch提供了多种数据访问安全的方式,如用户名密码校验、api_key等。但是依然无法保障数据传输过程中的安全性问题。而HTTPS协议,则是一种以安全为目的的HTTP通道,在HTTP的基础上通过传输加密和身份认证等机制来保障数据传输过程中的安全性。 本文将基于腾讯云ES集群环境,演示Beats、Logstash、Kibana和Java Client等客户端访问连接开启了HTTPS协议的ES集群。 一、HTTPS集群环境准备 1、创
腾讯云大数据
2022/08/26
7510
一文秒懂!腾讯云ES HTTPS 集群访问通信最佳实践
一文秒懂!腾讯云ES HTTPS 集群访问通信最佳实践
Elasticsearch提供了多种数据访问安全的方式,如用户名密码校验、api_key等。但是依然无法保障数据传输过程中的安全性问题。而HTTPS协议,则是一种以安全为目的的HTTP通道,在HTTP的基础上通过传输加密和身份认证等机制来保障数据传输过程中的安全性。本文将基于腾讯云ES集群环境,演示Beats、Logstash、Kibana和Java Client等客户端访问连接开启了HTTPS协议的ES集群。
吴容
2022/08/12
2.4K2
一文秒懂!腾讯云ES HTTPS 集群访问通信最佳实践
如何在腾讯云上启用 PostgreSQL 数据库远程访问?
EarlGrey
2017/06/02
7.5K0
如何在腾讯云上启用 PostgreSQL 数据库远程访问?
【玩转腾讯云】腾讯云域名https申请配置Centos+nginx
在服务器的项目代码目录,创建crt文件夹,把两个文件上传到crt文件夹中,我用的是laravel项目,所以实在这个目录下
无忧366
2020/03/08
19.2K0
小程序部署腾讯云HTTPS证书
在safe.conf 增加以下内容,其中ssl_certificate和ssl_certificate_key这两个值是上面购买证书后上传到你的服务器的路径,请以你自己的实际路径为准。
用户6624961
2019/11/03
12.2K0
小程序部署腾讯云HTTPS证书
restTemplate访问https
序 本文简述一下怎么使用restTemplate来访问https。 maven <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> <version>4.5.3</version> </dependency> 这里使用httpclient的factory 配置 @
code4it
2018/09/17
7.1K0
小程序部署腾讯云HTTPS证书
在safe.conf 增加以下内容,其中ssl_certificate和ssl_certificate_key这两个值是上面购买证书后上传到你的服务器的路径,请以你自己的实际路径为准。
用户2416682
2019/06/07
12.4K0
小程序部署腾讯云HTTPS证书
httpclient访问https
本文从spring cloud netflix zuul里头摘出httpclient访问https/http的源码,展示一下怎么用httpclient去访问https。
code4it
2018/09/17
1.1K0
httpclient访问https
本文从spring cloud netflix zuul里头摘出httpclient访问https/http的源码,展示一下怎么用httpclient去访问https。
全栈程序员站长
2022/07/20
7810
Springboot配置https,使用腾讯云免费证书
2.2 提交资料,必填证书绑定域名以及申请邮箱,绑定域名填写springboot项目部署的服务器域名
wayn
2021/12/05
14K1
Springboot配置https,使用腾讯云免费证书
腾讯云负载均衡HTTPS转发场景应用
本文提供视频讲解,详细见地址:https://www.bilibili.com/video/BV1ZA411W7fi/
研究僧
2020/11/28
4.2K0

相似问题

从一个大分支的多个提交创建多个分支

30

从多个Git提交的IDEA创建补丁?

12

如何简单地从我最新的git提交创建一个补丁?

558

如何配置gitVersion以递增版本分支上的每次提交补丁

15

如何将git提交到基于其他分支的新分支的工作流

22
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档