iOS Widget

宁睿  金牌会员 | 2022-6-20 16:34:45 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 687|帖子 687|积分 2071

1. Widget 


  • iOS通过在手机屏幕上添加小组件,小组件内容一般是展示用户所关心的内容
  • 小组件不是实时刷新,通过设置时间间隔进行刷新(官方文档上设置的是15分钟刷新一次)
  • 小组件可以设置点击事件,通过点击可以打开主程序,通过SchemeUrl 可以对点击事件进行处理
2 Widget Size


  •  具有三种尺寸: systemSmall(2 * 2 应用图标)、systemMediym (2 * 4 应用图标)、 systemLarge(4 * 4 应用图标) 分别对应下图
  
3 Widget 交互

  小组件不可交互,只能点击; 小组件不可滑动切换内容等交互,只能通过点击进行交互
  点击事件分为 widgetUrl 和 Link;并且widgetUrl和Link 只能和主程序交互
  Widget中不能放置动图和视频
  3.1 widgetUrl

  widgetUrl 是针对整个小组件 点击小组件响应(如果有Link 就响应Link)  
  3.2 Link

  LinK 给元素添加点击事件, Link 对 systemSmall样式的组件不生效(systemSmall 样式的小组件只响应widgetUrl) 
4 Widget 刷新

  4.1 通过主程序刷新

  通过在App中调用
  1. WidgetCenter.shared.reloadAllTimelines()
  2. WidgetCenter.shared.reloadTimelines(ofKind: "")
复制代码
  4.2 在 getSnapshot 中刷新 

  打开管理App的小组件页面 小组件会进行刷新
  4.3 设置刷新时间

  通过TimeLine进行设置(刷新时间有误差)

  •  .never  不进行刷新,只能通过App进行刷新
  • .after  每次刷新后设置下次刷新间隔
  • .atEnd   一次性设置多个刷新时间间隔,全部结束后会再次通过TimeLine设置
5 开发环境

  手机系统:iOS14以上
  开发软件:xcode12以上
  开发语言:SwiftUI
6 使用主程序数据

  Widget 和 主程序 可以共用的数据有 UserDefaults 和 FileManger 
  数据互通配置:
  1. 在Apple 开发者管理平台上 注册 App Groups
  2. 分别在主程序和Widge target的 Sign&Capabilities 中设置 AppGroups
   

来源:https://www.cnblogs.com/chuanqi1024/p/16188997.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

宁睿

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表