IOS Widget
文章平均质量分 80
popfisher
本人性格较好,喜欢运动,也喜欢电脑
展开
-
IOS小组件(9):让App支持多个小组件的实现方式
引言 本节作为小组件基础介绍的最后一个章节,前面都没有提到如何支持多个小组件,默认新建一个组件Target,就有大中小三个组件。如果你是为已经存在的App开发一个小组件功能,那么可能你不会需要那么多小组件。但是也有的App需要支持很多个小组件,也可能是无限个。 要实现支持多个小组件,需要使用到WidgetBundle,自定义一个WidgetBundle并改变小组件的初始化入口。默认小组件入口@mainstruct Widget1: Widget { // 小组件的唯一ID le原创 2021-06-11 11:07:03 · 829 阅读 · 4 评论 -
IOS小组件(8):App与Widget数据共享
文章目录引言数据共享方式App Groups 原理配置证书开启APP Groups在app中开启:在extension中开启App Groups特点共享数据核心代码参考结语引言 Widget是一个迷你版的App,IOS有沙盒机制,不同App之间无法直接共享数据。组件和主App之间其实就是不同App的关系,所以也无法通过userdefaults.standard来传数据,苹果为了在不打破沙盒的前提下能够传数据,就想出了App Group的方法。数据共享方式 可以通过网络和本地数据两种方式进行数据的共原创 2021-06-11 10:04:47 · 847 阅读 · 2 评论 -
IOS小组件(7):小组件点击交互
文章目录引言点击交互方式点击交互代码测试小号组件点击交互小号组件常用点击交互方式中号组件点击交互1中号组件点击交互2中号组件点击交互3结语引言 前面我们似乎掌握了实现一个小组件所需要的一切技能,默认情况下桌面点击小组件,也正常跳转到了App中。接下来我们一起来看看,小组件是怎么做到点击跳转到App的。点击交互方式点击Widget窗口唤起APP进行交互指定跳转支持两种方式:widgetURL:点击区域是Widget的所有区域,适合元素、逻辑简单的小部件Link:通过Link修饰,允许让界面上不原创 2021-06-07 14:23:12 · 1410 阅读 · 0 评论 -
IOS小组件(6):小组件实现时钟按秒刷新
文章目录引言计算时间差倒计时和计时器显示绝对日期或时间显示两个日期之间的时间间隔实现一天时间的计时器结语引言 上一节中我们了解了IOS小组件的刷新机制,发现根本没法实现按秒刷新,但是看别的App里面有做到,以为用了什么黑科技,原来是因为系统提供了一个额外的机制实现时间的动态更新,不用走小组件的刷新机制。Text控件支持显示日期时间,下面是来自官网的代码计算时间差let components = DateComponents(minute: 11, second: 14)let futureDa原创 2021-05-14 10:12:59 · 1685 阅读 · 0 评论 -
IOS小组件(5):小组件刷新机制
IOS Widget(5):小组件刷新机制引言系统如何管理小组件刷新Timeline刷新机制刷新策略建议时钟刷新策略(只有小时分钟,没有秒)主动请求重新刷新结语引言 前面的章节学完已经让我们可以顺利实现一个小组件了,但是小组件里面的数据如何刷新的呢,本节内容将讲解IOS的刷新机制。系统如何管理小组件刷新WidgetKit在一个单独的进程中渲染小组件视图即使小组件窗口显示在屏幕上,widget extension 也不会持续处于活动状态为了管理系统负载,WidgetKit使用预算来分配一天中的原创 2021-05-10 21:08:10 · 2525 阅读 · 0 评论 -
IOS小组件(4-2):创建可配置小组件(动态修改配置数据)
* 在项目中添加”Intents Extension“* 在 xxx.intentdefinition文件中增加一个动态类型* 实现 Intent Handler 提供动态配置数据原创 2021-05-07 22:30:34 · 395 阅读 · 0 评论 -
IOS小组件(4-1):创建可配置小组件(静态配置数据)
IOS Widget(4-1):创建可配置小组件(静态配置数据)引言添加动态配置可配置小组件框架代码解析修改 .intentdefinition 文件实现修改时间类型代码读取配置信息,实现动态布局结语引言 经过前面几篇文章阅读,已经掌握开发一款小组件的基本技能了,接下来开始掌握一些相对高级一点的技能。本文创建一个可配置小组件,通过修改时间类型,让Text空间显示不同格式的时间。添加动态配置方式1:新建组件的时候勾选 “Include Configuration Intent” 复选框。方式2:原创 2021-05-07 22:13:04 · 402 阅读 · 0 评论 -
IOS小组件(3):SwiftUI开发小组件布局入门
IOS Widget(3):SwiftUI开发小组件布局入门引言小组件布局怎么区分组件型号:大中小常用基础组件Text使用常用基础组件Image使用常用容器组件ZStack使用,类似安卓里面的FrameLayout,可以重叠布局常用容器组件HStack使用,水平方向布局常用容器组件VStack使用,垂直方向布局充满父布局怎么实现文字内部居中(multilineTextAlignment)等分剩余空间(Spacer)控制间距(spacing)结语引言 经过上一篇文章,我们已经可以在桌面上展示出一个小组件原创 2021-05-06 19:25:48 · 1087 阅读 · 0 评论 -
IOS小组件(2):小组件框架解析
IOS Widget(2):小组件框架解析引言创建小组件认识小组件框架各个组成部分小组件核心代码小组件核心代码注解如下:结语引言 看了小组件的概述,你肯定想马上搞一个小组件出来试试,实践中学习效果更佳创建小组件第一步:先创建好一个App,步骤省略第二步:在App中创建小组件1. 在Xcode中打开您的应用程序项目,然后选择 File > New > Target。2. 从“Application Extension”组中,选择“Widget Extension”,然后单击“Ne原创 2021-05-06 18:15:26 · 296 阅读 · 0 评论 -
IOS小组件(1):概述
IOS Widget(1):概述引言小组件是什么?小组件概述小组件开发备注小组件实现原理结语引言 本系列文章作者是安卓开发,以安卓开发的视角学习IOS小组件,记录一下踩坑记录,如有讲得不对的地方,路过大佬多包涵。如果你是想深入学习小组件,建议您顺着笔者的编号顺序阅读本系列文章。如果曾经了解过,只需要了解部分,则可以挑选来看。另外本系列文章中代码全部是Swift语言编写。小组件是什么?小组件概述WidgetKit 通过在 iOS 主屏幕或 macOS 通知中心放置小组件,让用户可以随时访问 A原创 2021-05-06 18:08:10 · 354 阅读 · 0 评论