1.Widget iOS通过在手机屏幕上添加小组件,小组件内容一般是展示用户所关心的内容小组件不是实时刷新,通过设置时间间隔进行刷新(官方文档上设置的是15分钟刷新一次)小组件可以设置点击事件,通过点击可以打开主程序,通过SchemeUrl可以对点击事件进行处理2WidgetSize 具有三种尺寸:systemSmall(2*2应用图标)、systemMediym (2*4应用图标)、systemLarge(4*4应用图标) 分别对应下图 3Widget交互 小组件不可交互,只能点击;小组件不可滑动切换内容等交互,只能通过点击进行交互 点击事件分为widgetUrl和Link;并且wid
著意登楼瞻玉兔,何人张幕遮银阙?又到了一年一度的网页小挂件环节,以往我们都是集成别人开源的组件,但所谓熟读唐诗三百首,不会做诗也会吟,熟读了别人的东西,做几首打油诗也是可以的,但若不能自出机抒,却也成不了大事,所以本次我们从零开始制作属于自己的网页小挂件,博君一晒。玉兔主题元素绘制成本最低的绘制方式是使用纯CSS,不依赖任何图片和三方库,首先创建绘制容器:由于是小挂件,我们首先将容器固定在右下角:#rabbit_box{position:fixed;bottom:var(--pos,5%);right:35px;z-index:99;border:none;outline:none;filte
著意登楼瞻玉兔,何人张幕遮银阙?又到了一年一度的网页小挂件环节,以往我们都是集成别人开源的组件,但所谓熟读唐诗三百首,不会做诗也会吟,熟读了别人的东西,做几首打油诗也是可以的,但若不能自出机抒,却也成不了大事,所以本次我们从零开始制作属于自己的网页小挂件,博君一晒。玉兔主题元素绘制成本最低的绘制方式是使用纯CSS,不依赖任何图片和三方库,首先创建绘制容器:由于是小挂件,我们首先将容器固定在右下角:#rabbit_box{position:fixed;bottom:var(--pos,5%);right:35px;z-index:99;border:none;outline:none;filte
引言 Widget是一个迷你版的App,IOS有沙盒机制,不同App之间无法直接共享数据。组件和主App之间其实就是不同App的关系,所以也无法通过userdefaults.standard来传数据,苹果为了在不打破沙盒的前提下能够传数据,就想出了AppGroup的方法。数据共享方式 可以通过网络和本地数据两种方式进行数据的共享,本地数据共享可以通过AppGroups。AppGroups原理 它是iOS8之后推出的在App之间共享数据的方式,只需要简单的配置就可以实现数据的共享。它主要用于同一group下的app共享同一份读写空间,以实现数据共享。编码AppGroups只能异步同步数据,当
引言 Widget是一个迷你版的App,IOS有沙盒机制,不同App之间无法直接共享数据。组件和主App之间其实就是不同App的关系,所以也无法通过userdefaults.standard来传数据,苹果为了在不打破沙盒的前提下能够传数据,就想出了AppGroup的方法。数据共享方式 可以通过网络和本地数据两种方式进行数据的共享,本地数据共享可以通过AppGroups。AppGroups原理 它是iOS8之后推出的在App之间共享数据的方式,只需要简单的配置就可以实现数据的共享。它主要用于同一group下的app共享同一份读写空间,以实现数据共享。编码AppGroups只能异步同步数据,当
顶置:这里感谢这两位博主无私的奉献!! popfisher https://www.cnblogs.com/popfisher/p/14719477.html_SAW_ https://www.jianshu.com/p/55dce7a524f5 我把所有的内容都写在这一篇里面了,除了SwiftUI布局知识,看我这一篇就够了,可以做出一个完整的小组件项目,包含时间实时显示,多组件展示,动态列表 开始吧!!! 一、简述iOS14桌面小组件1、只在iOS14及以上版本上支持,只支持SwiftUI来绘制页面;2、只提供三种尺寸,大中小; 二、开发不可配置属性的小组件1、创建一个APP,O
顶置:这里感谢这两位博主无私的奉献!! popfisher https://www.cnblogs.com/popfisher/p/14719477.html_SAW_ https://www.jianshu.com/p/55dce7a524f5 我把所有的内容都写在这一篇里面了,除了SwiftUI布局知识,看我这一篇就够了,可以做出一个完整的小组件项目,包含时间实时显示,多组件展示,动态列表 开始吧!!! 一、简述iOS14桌面小组件1、只在iOS14及以上版本上支持,只支持SwiftUI来绘制页面;2、只提供三种尺寸,大中小; 二、开发不可配置属性的小组件1、创建一个APP,O
引言 本节作为小组件基础介绍的最后一个章节,前面都没有提到如何支持多个小组件,默认新建一个组件Target,就有大中小三个组件。如果你是为已经存在的App开发一个小组件功能,那么可能你不会需要那么多小组件。但是也有的App需要支持很多个小组件,也可能是无限个。 要实现支持多个小组件,需要使用到WidgetBundle,自定义一个WidgetBundle并改变小组件的初始化入口。默认小组件入口@mainstructWidget1:Widget{ //小组件的唯一ID letkind:String="Widget1" varbody:someWidgetConfiguration{
引言 本节作为小组件基础介绍的最后一个章节,前面都没有提到如何支持多个小组件,默认新建一个组件Target,就有大中小三个组件。如果你是为已经存在的App开发一个小组件功能,那么可能你不会需要那么多小组件。但是也有的App需要支持很多个小组件,也可能是无限个。 要实现支持多个小组件,需要使用到WidgetBundle,自定义一个WidgetBundle并改变小组件的初始化入口。默认小组件入口@mainstructWidget1:Widget{ //小组件的唯一ID letkind:String="Widget1" varbody:someWidgetConfiguration{
引言 前面我们似乎掌握了实现一个小组件所需要的一切技能,默认情况下桌面点击小组件,也正常跳转到了App中。接下来我们一起来看看,小组件是怎么做到点击跳转到App的。点击交互方式点击Widget窗口唤起APP进行交互指定跳转支持两种方式:widgetURL:点击区域是Widget的所有区域,适合元素、逻辑简单的小部件Link:通过Link修饰,允许让界面上不同元素产生点击响应Widget支持三种显示方式,分别是systemSmall、systemMedium、systemLarge,其中:systemSmall只能用widgetURL修饰符实现URL传递接收systemMedium、syste