在 iOS 14 小部件上渲染图像

2023-12-05

我正在开发 iOS 14 Widget 扩展。

我有 3 个图像要循环显示,并创建一个时间轴来显示这些图像。

func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> ()) {
    var entries: [ImageEntry] = []
    let currentDate = Date()
    
    for i in 1 ..< 4 {
        let imageNumber = String(i)
        let currentImage = "image_" + imageNumber
        let entry = ImageEntry(date: currentDate,image: currentImage)
        entries.append(entry)
    }

    let nextUpdateDate = Calendar.current.date(byAdding: .minute, value: 5, to: currentDate)!
    let timeline = Timeline(entries: entries, policy: .after(nextUpdateDate))

    completion(timeline)
}


struct WidgetModuleEntryView : View {
var entry: Provider.Entry

var body: some View {
    Image(entry.image)
        .resizable()
        .scaledToFill()
    }
}

第一个图像始终渲染,但后续图像则不渲染。

可能是什么问题呢?


构建时间线时,您需要为每个条目指定明确的条目日期。策略参数用于重新创造下一个时间线。

So your getTimeline应该看起来像

func getTimeline(in context: Context, completion: @escaping (Timeline<Entry>) -> ()) {
    var entries: [ImageEntry] = []
    let currentDate = Date()

    for i in 1 ..< 4 {
        let imageNumber = String(i)
        let currentImage = "image_" + imageNumber
        let entryDate = Calendar.current.date(byAdding: .minute, value: (i-1)*5, to: currentDate)!
        let entry = ImageEntry(date: entryDate, image: currentImage)
        entries.append(entry)
    }

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

在 iOS 14 小部件上渲染图像 的相关文章

随机推荐

  • C# 泛型约束:结构数组

    我想创建一个通用约束 其中包含作为值类型 结构 数组的类型 例如 public class X
  • 如何像 Java 那样获取自 1970 年以来的当前时间戳(以毫秒为单位)

    在Java中 我们可以使用System currentTimeMillis 获取自纪元时间以来的当前时间戳 以毫秒为单位 即 当前时间与当前时间之间的差异 以毫秒为单位 世界标准时间 1970 年 1 月 1 日午夜 在C 中如何得到同样的
  • 如何截断 MySQL 数据库中的所有表?

    有没有办法在不使用 SQL 以外的任何其他语言的情况下截断特定 MySQL 数据库名称的所有表 我的意思是没有 Linux shell 脚本 为什么 因为它可以在 Windows MacOSX 和 Linux 服务器上运行 问题是客户端从控
  • 当从 Java 剪贴板对象中检索为图像时,来自 Outlook 的剪贴板副本始终设置为黑色背景

    以下是申请步骤 从 html 电子邮件或网站复制一些富文本 文本 图像的组合 在您的java代码中检索从剪贴板对象复制的内容作为BufferredImage 将检索到的图像对象保存为磁盘上的图像文件 您会注意到 在保存的文件中 图像效果很好
  • 为什么我的 win32 程序需要提升?

    我有一个非常简单的程序 用于自动更新 它检查服务器 HTTPS 上的可用版本 下载新更新并运行 可能更新的 程序 这是一个用Delphi 7编写的旧程序 在Windows 8和Windows 10下 这个程序似乎需要提升 以管理员身份运行
  • Rust 中 PhantomData 类型的使用

    我正在查看一些 Rust 源代码 发现了一种名为PhantomData 我正在浏览 Rust 文档并在互联网上进行了大量搜索 但是 我无法理解这种数据类型与 Rust 的实际用途 如果可能的话 有人可以简单地向我解释一下吗 pub stru
  • 日期倒计时器

    我正在尝试进行迄今为止的倒计时 并将每个倒计时放在 ListView 中的 ItemView 中 我已经有了Listview buillder 但我不知道如何制作具有不同值的倒计时并将它们放入列表视图中 我看到还有另一个类似的问题 但我无法
  • 粘性页脚,但只是有时

    我有一个带有页眉 内容 页脚的基本网站 我正在寻找一种设计页脚样式的方法 以便根据屏幕分辨率 如果内容没有填充页面 它会粘在底部 但如果内容溢出 它会将页脚向下推 必须滚动浏览器查看页脚 div div div div div ul li
  • “复制”不会创建动态数组的独立副本

    参考位于以下位置的在线文档http docwiki embarcadero com RADStudio XE6 en Structured Types Dynamic Arrays 写得很清楚 要制作动态数组的独立副本 请使用 Copy 函
  • 使用 ajax 请求安全地发送密码

    只是想知道 是否可以通过 Ajax 请求安全地发送密码 我有一个登录框 它调用 ajax 请求来尝试登录 通过并检索有错误的 JSON 对象 如果有 我应该使用表单重定向吗 EDIT 将加密的密码存储在数据库中并不是解决方案 因为ajax发
  • 替换由另一个矩阵索引的矩阵元素

    经过几个小时的搜索 我正在寻求您的专业知识 R 初学者 我尝试加快我的代码速度 我的目标是替换矩阵中的值A 但是 我想根据另一个矩阵的两个向量替换值B B 1 是行的名称i矩阵的A 第二栏 B 2 对应矩阵的列名A 我的代码的第一个版本是在
  • 如何在 jQuery 中获取当前日期?

    我想知道如何使用 jQuery 中的 Date 函数来获取当前日期yyyy mm dd format Date 不属于jQuery 它是 JavaScript 的特性之一 See Date 对象的文档 你可以这样做 var d new Da
  • IKVM 的 Map.xml 中的字符串和复杂数据类型!

    我正在使用 IKVM 将 java jar 文件转换为 NET dll 文件 我可以从整数类型的 getter 和 setter 创建一个属性 但我无法在 java 代码中对字符串数据类型执行此操作 您能告诉我 IKVM 的字符串或复杂数据
  • 检查 C++ 中的 double(或 float)是否为 NaN

    有 isnan 函数吗 PS 我在MinGW 如果这有影响的话 我通过使用 isnan 解决了这个问题
  • ASP.NET 中的 JQuery 与母版页

    我正在尝试将 JQuery 与一些使用母版页的 asp net 页面一起使用 并且在加载 JQuery javascript 文件时遇到问题 当我将该文件包含在母版页的标记中时 它在与母版页位于同一目录中的页面上运行良好 但是对于与母版页不
  • 以编程方式检索 OS X 命令行应用程序的绝对路径

    在Linux上 应用程序可以通过查询轻松获取其绝对路径 proc self exe 在 FreeBSD 上 它更加复杂 因为您必须构建 sysctl 调用 int mib 4 mib 0 CTL KERN mib 1 KERN PROC m
  • 触发器可以被锁定吗?如何确定它是?

    在回答中如果我在应用程序运行时替换 Oracle 触发器 是否会错过任何更改 我查看触发器是否被 INSERT 语句锁定 事实并非如此 我在互联网上找不到任何表明可以锁定触发器的内容 如果我在一个会话中运行以下命令 create table
  • SignalR - 离开所有组

    使用 SignalR 集线器可以在组中添加或删除客户端 一个客户端可以属于多个组 是否可以将客户端从其当前所属的每个组中删除 我想我正在寻找的是类似的东西Clients allgroups leave Context ConnectionI
  • CFBundleDocumentTypes 和 UIFileSharingEnabled 问题

    有人让 UIFileSharingEnabled 或 CFBundleDocumentTypes 工作吗 我将 UIFileSharingEnabled 添加为 true 到我的 plist 中 并使用下面链接中的 Apple 示例作为 C
  • 在 iOS 14 小部件上渲染图像

    我正在开发 iOS 14 Widget 扩展 我有 3 个图像要循环显示 并创建一个时间轴来显示这些图像 func getTimeline in context Context completion escaping Timeline