widget 新特点
1.足够克制,使widget和屏幕更加融合
1.1 有限的尺寸:只有3个尺寸,最小是 2*2 的圆角矩形(占用 4 个 App 的位置),还有 4*2 和 4*4 。
1.2有限的位置:对于最小的组件来说,无论是上下左右,只能以 2*2 为移动单位,所以只有 6 个可能的位置。
2.空间的利用
2.1 小部件堆栈:
为了避免各种各样的小部件占据过多屏幕空间,苹果提出了部件堆栈的设计,将多个小组件放在同一位置,通过上下滑动的方式进行查看,这样既可以节省空间,也可以降低在多个页面上查找小部件的交互成本。
2.2智能堆栈:
同时苹果还内置了智能堆栈 Smart Stack ,集成siri的智能化推荐能力。Siri 会帮用户筛选出最符合当前环境和语境下的小组件内容,突出显示。比如早上会显示新闻天气,上午会自动显示日程,而晚上就会显示你一天的运动量,体现“On-Device AI”。(在不同的时间显示不同的widget)
4.在主屏或负一屏都可以添加
Widget类似于TodayWidget是一个独立运行的程序,需要在项目中进行App Groups的设置才能使其与主程序互通数据,在iOS 14上,Today Extension依然可以使用,但是其功能受限,只能在负一屏展示它,用户不能随意的将其放在指定屏的指定位置。
5.一个App也可以提供多个Widget组件,用户可以选择将其最关心的放置在最重要的位置上,以便最方便的获取信息。对于同一种Widget组件,开发者也可以提供不同的尺寸或不同的布局,这可以提供给用户更多的选择以满足不同用户的偏好。
存在的问题
1.WidgetExtension 使用的是新的WidgetKit,不同于TodayWidget,小组件的UI部分只能够使用SwiftUI来开发,所以需要SwiftUI和Swift基础。
2.Widget只支持3种尺寸systemSmall (2x2)、 systemMedium (4x2)、 systemLarge(4x4)
3.widget不支持连续的实时更新
4.ios14的开发需要安装Xcode 12 beta 版本进行。
注意,Xocde12 beta 只支持macOS 10.15.4,目前仅发布了测试beta版,正式版官方还没定时间,要等iOS 14正式发布。
踩坑教程:
https://blog.csdn.net/qq_38718912/article/details/107658804
坑:关于timeline,iOS14 Widget是无法主动更新数据的!!!
使用场景
支付小部件: 快捷调用支付宝/微信扫一扫和付钱码
每日一言、每日成语、每日单词
倒计时: 时刻提醒你重要事件
RSSReader: 桌面上就能获取到你想要的最新的资讯
天气:显示当日的天气情况
ToDoList:要做的事情的列表
stock:股票走向
sports:当日的运动量
主要参考链接:
官网链接:
widget:https://developer.apple.com/design/human-interface-guidelines/ios/system-capabilities/widgets
create a widget extension:https://developer.apple.com/documentation/widgetkit/creating-a-widget-extension
keep a widget up to date:https://developer.apple.com/documentation/widgetkit/keeping-a-widget-up-to-date
make a configurable widget:https://developer.apple.com/documentation/widgetkit/making-a-configurable-widget
其他链接:
网友评论