WWDC2022发布了iOS16和WatchOS9,新增了锁屏小组件功能,支持使用WidgetKit同时开发锁屏小组件和Watch组件,这篇文章主要介绍锁屏小组件的特性,不涉及代码编码,适合开发/设计和产品阅读。
一、iOS16(watchOS9)小组件支持的3(4)种样式:
(1)Rectangular
(2)Circular
(3)Inline
(4) Corner (仅支持watchOS,不支持iOS)
二、小组件支持的3种颜色渲染模式
(1)全色(fullColor):开发者设置的任意颜色
(2)强调色(accented):设置成强调色后会根据用户的设置,渲染成用户选择的颜色
(3)半透明效果(vibrant):忽略开发者设置的颜色,渲染成半透明效果
iOS16锁屏小组件仅支持半透明效果,就是不管开发时设置啥颜色,都会被系统渲染成半透明效果。
3种渲染模式效果对比:
强调色效果:
半透明效果:
三、可以设置背景视图
效果如图:
左边Circular没有设置背景视图,右边Circular设置了背景视图:
四、隐私环境状态
就是可以设置在未解锁状态隐藏敏感/隐私内容
五、问题解答
(1)可以实时刷新吗?
刷新达不到秒级,只能是分钟级别,但是系统控件Text和ProgressView可以做到秒级刷新。同时小组件也支持通过自己发送网络请求、静默通知的方式进行刷新。
参考资料:https://developer.apple.com/documentation/widgetkit/keeping-a-widget-up-to-date
(2)有没有锁屏小组件设计规范?
iOS16锁屏小组件没有官方的设计规范文档,但是可以参考以前的wacthOS的设计规范,参考资料(请滚到比较底部,会有尺寸):https://developer.apple.com/design/human-interface-guidelines/components/system-experiences/complications
(3)有没有Live Activities的资料?
(4)WidgetKit替换ClockKit,watchOS9以往版本咋办?
锁屏小组件、watch小组件可以使用新的WidgetKit统一进行开发,替换原来的ClockKit,但是WidgetKit开发的watch组件仅支持watchOS9以上,所以用ClockKit替换ClockKit开发暂时还是个坑。