CAShapeLayer 的中风结束没有动画

2023-12-29

这是我用来制作动画的代码CAShapeLayer:

_progressBarLayer.strokeEnd = CGFloat(_progressToDrawForProgress(progress))

let progressAnimation = CABasicAnimation(keyPath: "strokeEnd")
progressAnimation.duration = CFTimeInterval(1.0)
progressAnimation.fromValue = CGFloat(self.progress)
progressAnimation.toValue = _progressBarLayer.strokeEnd
progressAnimation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseIn)

_progressBarLayer.addAnimation(progressAnimation, forKey: "progressAnimation")

我已经使用委托进行了测试,看看动画是否播放,并且确实播放了。记录在正确的位置开始和停止。

这段代码位于setProgress(progress: CGFloat, animated: Bool)函数并在动画为 true 时运行。

这里有什么显而易见的事情吗?


长答案:事实证明,动画没有播放是因为使用石英在 CAShapeLayer 上方绘制了某些内容,所以我认为 CAShapeLayer(应该是动画的)实际上是同一层的 Quartz 绘图。

简短的回答:不要使用 Quartz 绘制图形上下文

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CAShapeLayer 的中风结束没有动画 的相关文章

  • 两者都实现了类。将使用两者之一

    我有一个项目 它具有使用 SocketRocket 的依赖项 通过 CocoaPods 安装 并从 HeapAnalytics 导入了静态库 显然 HeapAnalytics 库已经使用了 SocketRocket 编译时没有出现错误 但在
  • 如何在 ios 7 上更改重新排序控制图像

    我正在寻找一种更改重新排序控件图像和大小的方法 我使用此代码来更改重新排序图像 void tableView UITableView tableView willDisplayCell UITableViewCell cell forRow
  • 迁移到 ARC 时如何解决“选择器'performSelector:withObject:afterDelay:'没有已知的实例方法”?

    ARC 迁移工具在开始迁移之前拒绝接受此代码 self delegate performSelector selector overlayDismissed withObject self afterDelay 0 委托被迫使用协议来实现此
  • 多次添加同一个子视图来查看

    我不知道这是否可行 但我想做的是将子视图多次添加到视图中 我尝试过这样的事情 self view addSubview newView newView center CGPointMake 160 100 self view addSubv
  • “同时创建 xib 文件”按钮已禁用

    我在创建时遇到这个问题UIView s子类 创建 例如 UIViewControllers or UITableViewCells没关系 为什么会出现这种情况 I create view using cmd N and Xcode Vers
  • -[EAGLContext renderbufferStorage:fromDrawable:] 第二次失败?

    我正在开发一个 iOS openGL ES 应用程序 我正在做通常的 EAGLView ES2Render 的事情 启动时 使用以下代码成功创建 frambuffer BOOL createFramebuffers EAGLContext
  • iOS - NSNotificationCenter 多个UIKeyboard通知

    我有两个视图控制器 我们称它们为 A 和 B 1 在 A 中 我显示一个包含文本字段的 popOver 2 B中有一个UITextView用于简单的文本编辑 我必须管理 A 和 B 中的键盘才能滚动键盘隐藏的内容 我知道如何重新定位内容 我
  • iOS Storyboards 我应该使用它们吗? [复制]

    这个问题在这里已经有答案了 我是 iOS 开发新手 尚未创建应用程序 但我向我的朋友寻求建议 他在市场上拥有非常高评价的应用程序 他说不要使用故事板 尽管我很想听取他的建议 但它们似乎确实很有帮助 这是否会在将来给我的应用程序带来问题 我有
  • 在 Flutter 中显示 iOS 的 PDF 内联文件

    我正在 flutter 中专门为 iOS 开发一个应用程序 现阶段 我需要向其中添加 PDF 文件 问题是 flutter 没有原生的方式来显示 PDF 文件 据我研究 由此tread https github com flutter fl
  • 将带有地理位置数据的照片保存到照片库 Swift 3

    如何使用地理位置元数据将照片保存到照片库 我已请求 并允许 应用程序访问用户位置 private func allowAccessToUserLocation locationManager CLLocationManager locati
  • Swift 3:如何去除UITableView屏幕截图的灰色区域

    我在从桌面视图的屏幕截图中删除灰色区域时遇到了问题 这是我尝试截图时的输出UITableView 实际上我隐藏了一些tableViewCell这是不需要的 可能这就是区域显示灰色的原因 任何帮助表示赞赏 非常感谢 Answer 我通过使用
  • UITextFieldDelegate 与 UITextField 控件事件

    如果我想处理 UITextField 的更改 例如用户在其中键入 看起来这可以通过将委托分配给该文本字段 然后让委托实现 shouldChangeCharactersInRange 来完成 或者通过将目标添加到文本字段并处理 UIContr
  • Transit MKDirectionsRequest 产生 null 错误 Error Domain=MKErrorDomain Code=5 "(null)"

    我正在尝试使用 MapKit Directions Request 来获取两个坐标之间的交通方向 当我切换到其他 非 Transit 类型时 下面的代码可以工作 但是当我切换到 Transit 时 它会抛出一个错误 该错误在 Apple 文
  • ExpandableListView 的动画

    是否可以为 ExpandableListView 应用展开或折叠动画 可以使用一个简单的 ListView 来完成 该 ListView 包含最初隐藏的视图和扩展动画的自定义类 基本思想是从View GONE然后逐渐将边距大小从负值调整为所
  • 使用 Google place API 从 lat long 获取附近的地点

    我正在使用 google place API 即 https maps googleapis com maps api place search json location 33 7167 73 0667 radius 500 type f
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • Objective C UIImagePNGRepresentation内存问题(使用ARC)

    我有一个基于 ARC 的应用程序 它从 Web 服务加载大约 2 000 个相当大 1 4MB 的 Base64 编码图像 它将 Base64 解码后的字符串转换为 png图像文件并将其保存到磁盘 这一切都是在一个循环中完成的 我不应该有任
  • iOS WKWebView.scrollView委托导致BAD_ACCESS

    我的 viewController 有一个 UIView 属性 其中包含一个 WKWebView 我将 WKWebView rollView 委托设置为我的 viewController 它是我的 UIView 子类的公共函数 并在我的 v
  • NSPredicate 的 onFormat 字符串

    我想用 id 键对数据进行排序 我如何理解格式字符串的用途NSPredicate格式 我有一个100号的帖子 我的代码 let objectIDs posts map 0 id let predicate NSPredicate forma
  • 在 iOS 上从 GPS 获取时间

    我正在开发一个跟踪器应用程序 该应用程序需要高精度地了解设备位置 即它使用位置服务并忽略水平精度低于 20 米的位置 CLLocation没有明确声明是否通过 GPS 确定 但是 如果水平精度为 20 米或更好 则可以认为它是来自 GPS

随机推荐

  • MySQL - 为什么不索引每个字段?

    最近体会到了索引的神奇之处 性能得到了显着的提升 然而 就我所知 我似乎无法找到这个问题的答案 索引很棒 但为什么不能为所有字段建立索引以使表变得异常快呢 我确信不这样做是有充分理由的 但是三十字段表中的三个字段怎么样 30 个字段中有 1
  • 敏感指令和特权指令的区别

    我一直在寻找敏感和特权指令之间的明显区别 但现在一切都很模糊 据我所知 敏感指令NEEDS TO如果在用户空间中执行 则陷阱到内核模式 否则在特权指令时它会被忽略会困住如果在用户空间执行 则进入内核模式 这种差异对我来说是模糊且不能令人满意
  • Python 提交表单并获得响应

    我的一般问题 我如何提交表单 然后使用 python 程序从网站获取响应 我的具体情况 我想发送一些东西 比如 Ajax XHR 发送到一个 Web 文件并从中获取响应 但有问题 我不想使用任何浏览器并在代码中执行此操作 例如this ht
  • 使用 Rest API 从 LogAnalytics Workspace 获取日志数据

    I am trying to fetch log data from Azure Log Analytics workspace with the queries that I have saved inside the workspace
  • 使用 EntityFramework Extended 批量插入

    根据this https code msdn microsoft com entity framework batch 994cd739 可以使用以下代码在实体中批量插入 var customers GetCustomers db Cust
  • FacebookShare 更新后导致编译器错误

    我刚刚跑了pod update对于我的应用程序 现在它无法编译 给出这些问题LinkShareContent swift in FacebookShare Cannot assign to property contentDescripti
  • C++ 运行时通过字符串名称访问成员函数

    我有两节课 class MyClassInfo public void AddMethod std string name void pointer I don t know what signature should be class M
  • 重命名 auth_user 会破坏新设置的迁移

    遵循看起来像好建议 https stackoverflow com questions 14904046 migrating existing auth user data to new django 1 5 custom user mod
  • 获取 Active Storage 变体的元数据

    我有一个 Active Storage 图像变体 例如 我正在尝试获取width and height该变体的值 因为它们是未知的 用于width and heightHTML 属性 我预计他们会在这里 model logo image v
  • 使用 xslt:analyze-string 将首字母缩略词添加到 HTML

    我想使用 xslt analyze string 将首字母缩略词添加到 HTML 文本中 问题 在我的 HTML 文本中有诸如 strong some text strong 被视为 XML 节点 当我应用 xslt analyze str
  • 我无法启用推送通知参数

    我三个月前创建了一个应用程序 并已成功批准进入 itunes 我需要做出的改进之一是包括 推送通知 问题是 当我尝试在developer apple com 的 App ID 中编辑该参数时 复选框被禁用 我无法检查它 这是他们告诉我们应该
  • 底部应用栏在使用片段导航时向上/向下滑动(导航架构组件)

    我正在查看底部应用程序栏 有一个很好的功能可以在滚动时隐藏它app hideOnScroll true 问题是我无法弄清楚当片段被删除时如何以编程方式向上或向下滑动它导航至和来自 例如 设置概述 开MainActivity具有导航主机片段
  • Fortran 中任何类型数组的过程

    Basis 我想编写一个过程 对任何输入数组类型进行一些操作 integer real 4 real 8 我在 StackOverflow 上读到的唯一想法是模仿 C 模板 使用通用过程进行覆盖 使用预处理器包含重复代码 但是搜索流行的I
  • 内存泄漏、访问已释放的内存和双重释放之间有什么区别?

    我试图找出与内存模型相关的这三种问题之间的区别 如果我想模拟一个memory leak场景中 我可以创建一个指针而不调用相应的删除方法 int main OK int p new int delete p Memory leak int q
  • 如何更改 conemu 中的字符集/区域设置?

    我通过 conemu 使用 gitbash 我有一个字符集问题 其中字符在 git bash 中通过 conemu 和直接 git bash 看起来错误 我通过将 minttyrc 中的区域设置设置为 在 gitbash 中修复了它 Bol
  • 何时使用嵌入式数据库

    我正在编写一个应用程序 它解析一个大文件 生成大量数据并用它进行一些复杂的可视化 由于所有这些数据无法保存在内存中 因此我做了一些研究 并开始考虑将嵌入式数据库作为这些数据的临时容器 我的问题是 这是解决这个问题的传统方法吗 嵌入式数据库
  • 命名约定:寻找混合英语和领域/工作流术语的替代方案

    尽管在我们公司 所有人的母语都不是英语 但我们还是努力用英语编写文档 代码和注释 当然 除了与用户相关的内容之外 几乎所有内容都是如此 只要业务术语是可翻译的并且不太特定于该领域 这就可以了 但是 一旦业务术语变得过于具体 要么没有适当的翻
  • Apache 重写子网 IP 范围

    有人可以告诉我如何将以下 IP 范围 属于 Cloudfront 放入 mod rewrite 中吗 我希望将 example com 的非 www 请求重定向到 www example com 但不重定向来自以下 IP 范围的任何 IP
  • 为什么我必须刷新页面才能使 JavaScript 函数正常工作?

    我正在开发一个移动网站并使用 jQuery 当我加载某个页面并单击所需的按钮时 代码在刷新页面之前不会执行 为什么是这样 我是这样的 script js document ready function user save click fun
  • CAShapeLayer 的中风结束没有动画

    这是我用来制作动画的代码CAShapeLayer progressBarLayer strokeEnd CGFloat progressToDrawForProgress progress let progressAnimation CAB