iOS 小组件开发

news2024/11/20 18:34:56

iOS14之后Apple引入了新的WidgetKit,舍弃了原有额TodayExtension。

开发准备:

新的WidgetExtension只能通过SwiftUI进行开发;
Widget有三种尺寸:systemSmall、 systemMedium、systemLarge,三种尺寸对应固定的UI类型布局,可以切换形态;
点击Widget默认打开主程序,也可以通过schemeUrl进入主程序后做出指定的反应;
Widget通过App Groups与主程序或其他子程序进行数据互通;

1 添加小组件

可以通过new -> file -> target 或者直接在general内通过加号直接添加target。
在这里插入图片描述
在这里插入图片描述
可以根据具体情况是否够炫intent,也可以不勾选在后面创建。

准备代码:

@main是小组件的入口
布局与SwiftUI相同,这里就不做赘述。
Configuration里可以添加各种未展示的枚举类型,通过创建intent进行模式切换。
在这里插入图片描述
可以通过WidgetCenter.shared.reloadAllTimelines()刷新所有时间线,或者通过WidgetCenter.shared.reloadTimelines(ofKind: “”)刷新指定的小组件,因为小组件本身的缓存处理不太好,所以及时刷新很重要。
存储在AppGroups内的数据通过@AppStorage(“name”)取出后解析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1351271.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从0创建springboot项目并创建GitHub仓库

创建springboot项目 我是使用idea来创建一个新的项目,jdk17,maven。 先选一个spring web就够了,后续需要啥功能再慢慢添加 写个简单controller测试一下能不能成功启动项目 启动项目,本地访问http://localhost:8080/test/test …

polar CTF web 被黑掉的站

一、题目 二、解答 1、dirsearch 扫目录 看到shell.php和index.php.bak 一看就是爆破,字典都给了,最后得到为 nikel

C++数据结构-广义表

广义表的定义 如果允许表中的数据元素具有自身结构,即数据元素也可以是一个线性表,这就是广义表,有时也称之为列表(Lists)。 广义表是n(n≥0)个元素a1, a2, …, an的有限序列,即LS(a1, a2, …, an)。 其…

Objects are not valid as a React child (found: object with keys {name}).

在jsx中可以嵌套表达式,将表达式作为内容的一部分,但是要注意,普通对象不能作为子元素;但是数组,react元素对象是可以的 如下:不能将stu这个对象作为子元素放 function App() {const myCal imgStyleconst…

深度生成模型之GAN的评估 ->(个人学习记录笔记)

文章目录 深度生成模型之GAN的评估图像翻译的应用1. 风格迁移2. 数据增强3. 经典图像任务4. 内容创作5. 人脸图像编辑6. 人体图像编辑 图像翻译模型1. 有监督图像翻译模型2. 无监督图像翻译模型3. 多域图像翻译模型 深度生成模型之GAN的评估 图像翻译的应用 1. 风格迁移 各类…

本地计算机 上的 My5OL808 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止

客户反馈说mysql启动不了,报错信息: 本地计算机 上的 My5OL808 服务启动后停止,某些服务在未由其他服务或程序使用时将自动停止。 查了不少资料,最后分析问题是这样的,手动或者重复安装mysql时,创建了多个…

计算机网络 VLAN

路由器将多个局域网连接起来,而交换机将一个局域网里的设备连接起来。 路由器的端口分配局域网的网段(子网网段),局域网的内部设备的ip都在这个网段里,再由交换机将数据派发到目的设备,交换机是按照MAC地址…

欢迎提交pr共同改进项目, pr的含义?

"提交PR"在软件开发和编程领域是一个常用术语,特别是在使用版本控制系统如Git时。这里的“PR”指的是“Pull Request”,它是一种通知项目维护人员您已经完成了一些代码改动并希望将这些改动合并到主项目中的方式。简单来说,当您对一…

lenovo联想小新Pro-13 2020 Intel IML版笔记本电脑(82DN)原装出厂Win10系统镜像

链接:https://pan.baidu.com/s/1bJpfXudYEC7MJ7qfjDYPdg?pwdjipj 提取码:jipj 原装出厂Windows10系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具:16G或以上的U盘 文件格式&a…

electron预加载脚本

webPreferences 指定预加载脚本,可以使用部分node脚本 webPreferences: {preload: path.join(__dirname, "preload.js"),},创建preload.js 中 测试文件读取功能 const fs require(fs) const text fs.readFileSync(package.json, utf-8)console.log(text)报错,为了…

Mac环境下反编译apk

Mac环境下反编译apk 安装反编译工具dex2jar:[官网下载](https://sourceforge.net/projects/dex2jar/)JD-GUI:[官网下载](https://jd-gui.apponic.com/) 实操1. 将需要反编译的 .apk 文件放在下载的 dex2jar 文件夹目录下2. 使用 cd /xxx/dex2jar-2.0 命令…

【algorithm】自动驾驶常见常考的几个模型和推导,顺便总结自己遇到的考题经验不断更新之———控制版

写在前面 本来快达成目标了,没想到公司遭受了问题,公司和同事我感觉还是挺好的,有国企的正规也有小企业的灵活,大家都很有学习欲望。 作为本次再次复习回忆如下: 把之前面试准备的 机器学习(基本搬运到CSD…

安全与认证Week4

目录 本章需要理解的问题 Web Security (TLS/SSL) 关于网络 使用网络会受到的威胁 各层安全协议 S/MIME、PGP(后面和S/MIME一起出现)、Kerberos、TLS/SSL 和 IP/IPSec 分别是: S/MIME (Secure/Multipurpose Internet Mail Extensions)&#x…

js文件上传 分片上传/断点续传/极速秒传

(极速秒传)利用md5判断上传的文件是否存在 MD5信息摘要算法,一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。 每一个文件都会生成…

杰发科技AC7840——Eclipse环境DMA注意事项

0.序 用 户 使 用 DMA 时 , 所 有 DMA 搬 运 的 SRAM 数 据 都 必 须 存 放 在 SRAM_U 区 (0x20000000~0x2000EFFF) 。 1. 修改办法 第一步: RAM定义 /* Specify the memory areas */ MEMORY {FLASH (rx) : ORIGIN 0x00000000, LENGT…

【零基础入门TypeScript】类型和变量

目录 任意类型 内置类型 Null 和 undefined ─ 它们是一样的吗? 用户定义类型 TypeScript 中的变量声明 示例:TypeScript 中的变量 TypeScript 中的类型断言 例子 TypeScript 中的推断类型 示例:推断类型 TypeScript 变量作用域 …

认识机器学习【woodwhales.cn】

为了更好的阅读体验,建议移步至笔者的博客阅读:认识机器学习 生活中的问题1:居民家庭生活用气价格 北京燃气小程序在线咨询,查询北京居民家庭生活用气价格 上图价格梯度,可以由文字转换成表格: 第一档用气…

DrGraph原理示教 - OpenCV 4 功能 - 二值化

二值化,也就是处理结果为0或1,当然是针对图像的各像素而言的 1或0,对应于有无,也就是留下有用的,删除无用的,有用的部分,就是关心的部分 在图像处理中,也不仅仅只是1或0,…

Linux 命令echo

命令作用 输出一行字符串在shell中,可以打印变量的值输出结果写入到文件在显示器上显示一段文字,起到提示的作用 语法 echo [选项] [字符串] 参数 字符含义-n不自动换行-e解释转义字符-E不解释转义字符 如果-e有效,则识别以下序列&…

【Unity入门】RequireComponent的使用

目录 RequireComponent的作用构造函数 RequireComponent的作用 RequireComponent 属性自动将所需的组件添加为依赖项。 当某个脚本必须依赖其他脚本或者组件共同使用时,为了避免人为添加过程的操作失误,可以在代码中使用RequireComponent,它…