iOS 小组件开发

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.mzph.cn/news/592385.shtml

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

相关文章

vba之与excel司龄计算

Sub 插入新列并计算司龄()Dim ws As WorksheetDim lastRow As LongDim i As LongDim entryDate As DateDim yearsOfService As Double 指定要操作的工作表Set ws ThisWorkbook.Sheets("测试") !!!!!&#x…

BIND-DNS配置介绍

一、主要配置文件 /etc/named.conf options { //Option 段全部配置 listen-on port 53 { 127.0.0.1; };//表示BIND将在53端口监听,若需要对所有IP进行监听,则修改为// listen-on port 53 { any; }; directory "/var/named"…

yongyou builder 业务流设计相关bug

今天发现了yongyou builder的一个问题,我有一个实体(主机预测),另外一个实体(业务员预测),要将多张业务员预测的单据合并从一个主机单据,并且如果多张单据下面的表体行中存在相同的销…

(六)数码管动态刷新

文章目录 如何实现利用人眼的余晖效应(100hz无闪烁)1ms刷一个数码管 8个看起来就是一块亮的 结合前面内容进行操作前面内容传送门:如何段选原理图代码写法这里借助isp复制共阴数码管码值 如何位选原理图代码写法 如何消隐在每次 段选 赋值之前…

[数理统计]中国科技技术大学缪柏其

中国科学技术大学 数理统计 缪柏其 笔记正在不断完善中,博主还有其他上万字精品笔记 ​编辑P10 前言1-统计思想 41:33 介绍了数理统计的重要性和应用领域。主讲人强调了统计学与数学的区别,指出统计学是以数据为研究对象的一门科学,强调了统计思想的重…

面试算法79:所有子集

题目 输入一个不含重复数字的数据集合,请找出它的所有子集。例如,数据集合[1,2]有4个子集,分别是[]、[1]、[2]和[1,2]。 分析 如果集合中包含n个元素,那么生成子集可以分为n步,每一步从集合中…

K8S集群部署MySql

挂载MySQL数据卷 在k8s集群中挂载MySQL数据卷 需要安装一个NFS。 在主节点安装NFS yum install -y nfs-utils rpcbind 在主节点创建目录 mkdir -p /nfs chmod 777 /nfs 更改归属组与用户 chown -R nfsnobody:nfsnobody /nfs 配置共享目录 echo "/nfs *(insecure,rw,s…

linux更改登录shell

从bash修改成python 在/etc/passwd下可以更改用户登录bash 例 root:x:0:0:root:/root:/bin/bash //更改bin/bash为/bin/python,就可以用root登录python页面了从python修改成bash 方法一 重启页面按e进入内核编辑模式linux16这行后添加:init/bin/…

Linux操作系统基础(3):Linux终端的使用

1. Linux终端的介绍 Linux 终端是指在 Linux 操作系统下用于与用户进行交互的命令行界面(基于文本的交互)。它是用户与操作系统进行直接交互的主要方式,可以通过输入命令来执行各种操作,如文件管理、进程控制、系统配置等。 Lin…

【WPF.NET开发】WPF中的输入

本文内容 输入 API事件路由处理输入事件文本输入触摸和操作侧重点鼠标位置鼠标捕获命令输入系统和基元素 Windows Presentation Foundation (WPF) 子系统提供了一个功能强大的 API,用于从各种设备(包括鼠标、键盘、触摸和触笔)获取输入。 本…

CTF流量分析经典例题详解

目录 入门题型 题目:Cephalopod(图片提取) 题目:特殊后门(icmp协议信息传输) 题目:手机热点(蓝牙传输协议obex,数据提取) 题目:想蹭网先解开密码(无线密码破解) 进阶题型 题目:抓到一只苍蝇(数据包筛选,数据提…

React16源码: React.Children源码实现

React.Children 1 ) 概述 这个API用的也比较的少,因为大部分情况下,我们不会单独去操作children我们在一个组件内部拿到 props 的时候,我们有props.children这么一个属性大部分情况下,直接把 props.children 把它渲染到我们的jsx…

蓝牙物联网智能车用语音控制系统模块设计

随着信息产业的快速发展,简单的控制操作机器已经不能满足人类的欲望,利用语音识别技术让机器理解人类的语言,以及实现人机交互成为新的研究内容。对用户来说,这种人机交互的方式当是最自然的一种方式。同时,使人们在车…

塔夫特原则

塔夫特原则(Tuftes Principles)是由数据可视化专家爱德华塔夫特(Edward Tufte)提出的一组指导性原则,旨在帮助人们创建清晰、有效和有力的数据可视化图表。这些原则强调了以数据为核心,通过简洁、准确和易于…

【Java开发岗面试】八股文—Java虚拟机(JVM)

声明: 背景:本人为24届双非硕校招生,已经完整经历了一次秋招,拿到了三个offer。本专题旨在分享自己的一些Java开发岗面试经验(主要是校招),包括我自己总结的八股文、算法、项目介绍、HR面和面试…

小球自由下落-第11届蓝桥杯选拔赛Python真题精选

[导读]:超平老师的Scratch蓝桥杯真题解读系列在推出之后,受到了广大老师和家长的好评,非常感谢各位的认可和厚爱。作为回馈,超平老师计划推出《Python蓝桥杯真题解析100讲》,这是解读系列的第23讲。 小球自由下落&…

python flask-wft

这个放在前面你个表单的博客内容 精髓放这 from flask import Flask from flask import render_template from flask_wtf import FlaskForm from wtforms.fields import (StringField, PasswordField, DateField, BooleanField,SelectField, SelectMultipleField, TextAreaFi…

第一个Qt程序----Hello word!

从今天起就开始我们的第一个Qt小程序,点击New Project后点击右侧的Application后点击Qt Widgets Application。Qt Widgets 模块提供了一组UI元素用于创建经典的桌面风格的用户界面,Widgets是小部件的意思,也可以称为控件,因此Qt …

粒子群优化pso结合bp神经网络优化对csv文件预测matlab(3)

1.csv数据为密西西比数据集,获取数据集可以管我要,数据集内容形式如下图: 2.代码 这里参考的是b站的一位博主。 数据集导入教程在我的另一篇文章bp写过,需要的话可以去看一下 psobp.m close all clc%读取数据 inputX; outputY;…