iOS 14 Widget:七夕节,缺僚机?这题我会!

1,137 阅读3分钟

作者| 个推高级iOS工程师 AK

今天是一年一度的七夕。小编想带大家感受一下用iOS 14 Widget表白的方式,与大家一起领略IT人独有的浪漫。

Widget是iOS14 新引入的桌面小组件,仅支持SwiftUI。在iOS 14之前, iOS也有与3DTouch关联的小组件,但这次更新基本上摒除了旧的组件,是苹果一次新的尝试。Widget继承了iOS的一贯风格,限制极多,不支持内部手势,不支持动画、视频,仅能打开自身App。尽管如此,请不要怕,接下来小编将教大家如何在限制下,采用如下小技巧,俘获ta的“心”。

01

表白技巧

表白技巧一

首先安装上你“精心准备的”的Widget,将其“伪装”成一个天气Widget,或者日常小工具(小相册或者小日历之类的等等), 然后在某个特殊的时刻,比如七夕节13点14分,可以选择APNS推送或者集成更方便快捷的个推推送SDK,发送一条普通推送或者后台推送(静默推送),Widget通过AppGroup和APP通讯交换数据。最后,将你最想说的话推送到她(他)的手机上,默默开始你的表演。

![](https://mmbiz.qpic.cn/mmbiz_gif/8cHicoiacTv8K32L4PiawWIU7KNCEKD80mYNVZvsILGCnOQx6j5XjOOe2wexRqTwqGVeiclsjbfzCXXkAlkYRuqP9Q/640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1)

表白技巧二

奢侈时尚大牌遥不可及?小编建议你赶紧给女神内置一个PRADA定制大表盘,漂亮不说还省钱了,一个不够就安十个(CUCCI、 Hermès、 CHANEL、Dior等等,各种品牌、各种款式任你选择)。你也可以从小编github‍ issue获取名牌大表盘(github.com/aklee/),让你上手更简单、便捷。

![](https://mmbiz.qpic.cn/mmbiz_gif/8cHicoiacTv8K32L4PiawWIU7KNCEKD80mY8tlqAq0JumQPHYetSWVFGcpvFO6icLJ7CUHmRGD8lkr2ib6qOh2MDokQ/640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1)
![](https://mmbiz.qpic.cn/mmbiz_gif/8cHicoiacTv8K32L4PiawWIU7KNCEKD80mY9KsQ04wtR5yPibfKy85cfsCfEfL1cZud0DM1KyS5NLTSXFibuZT1cr0Q/640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1)

以上都用不到?还是单身狗?那就给自己来个单身狗头手表吧,说不定哪天对象就来了。

![](https://mmbiz.qpic.cn/mmbiz_gif/8cHicoiacTv8K32L4PiawWIU7KNCEKD80mYvqCNnND2ceuCNm3e9ibEmbG2tBN3TpUsZQxe1DU72G9LMuaricaaubcQ/640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1)

02

知识点

在开始动手之前,小编将为大家讲解一下Widget有关知识点,帮助大家深入理解Widget。毕竟,知己知彼,百战不殆嘛。

Widget小盘点

一个 iOS App 可以提供多种样式的 Widget,而苹果系统引入了SwiftUI,让我们可以一边编写代码一边预览UI,实在舒适。

Widget默认提供三种大小,可以选其中一种、两种,也可以三种都囊括。

timeline

SwiftUI上手很快,方便我们开发出各式各样的Widget,其核心是需要了解它的刷新机制。开发者可以通过Widget内的getTimeline来注册时间点去刷新Widget,也可以在App内引入WidgetKit,通过WidgetCenter指定某个Widget来刷新timeline。

03

关于配置信息

开发者不需要编写配置界面,只需要设置所需的配置信息即可,比如可以通过配置xxx.intentdefinition,指定显示名称、类型、默认值等等。

通过反射机制,你可以直接访问到自身的属性。

![](https://mmbiz.qpic.cn/mmbiz_gif/8cHicoiacTv8K32L4PiawWIU7KNCEKD80mY9icM0a7rtD7s4dcKomsuu8kChN460GwEcaNdxTL34VvNVop7KvfKicJg/640?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1)

结语

随着iOS14的到来,新增Widget是UI上最吸引眼球的改变,或将成为一种新风尚。Widget为大家提供了有趣的表白技巧,如果你是ObjectiveC重度开发者,Widget则是带你领略swiftUI的第一道门,其相关的知识也值得我们去积极探索。要想继续学习Widget或者是swiftUI,推荐查阅本文的参考资料。

参考资料:

github.com/aklee/MyWid…

www.apple.com/ios/ios-14-…

www.apple.com/newsroom/20…

juejin.cn/post/684790…