widget 新特點(diǎn)
1.足夠克制势决,使widget和屏幕更加融合
1.1?有限的尺寸:只有3個(gè)尺寸,最小是 2*2 的圓角矩形(占用 4 個(gè) App 的位置)羡藐,還有 4*2 和 4*4 精居。
1.2有限的位置:對(duì)于最小的組件來說棒搜,無論是上下左右,只能以 2*2 為移動(dòng)單位嘿般,所以只有?6 個(gè)可能的位置段标。
2.空間的利用
2.1 小部件堆棧:
????????為了避免各種各樣的小部件占據(jù)過多屏幕空間,蘋果提出了部件堆棧的設(shè)計(jì)炉奴,將多個(gè)小組件放在同一位置逼庞,通過上下滑動(dòng)的方式進(jìn)行查看,這樣既可以節(jié)省空間瞻赶,也可以降低在多個(gè)頁面上查找小部件的交互成本赛糟。
?2.2智能堆棧:
同時(shí)蘋果還內(nèi)置了智能堆棧?Smart Stack?,集成siri的智能化推薦能力砸逊。Siri 會(huì)幫用戶篩選出最符合當(dāng)前環(huán)境和語境下的小組件內(nèi)容璧南,突出顯示。比如早上會(huì)顯示新聞天氣师逸,上午會(huì)自動(dòng)顯示日程穆咐,而晚上就會(huì)顯示你一天的運(yùn)動(dòng)量,體現(xiàn)“On-Device AI”字旭。(在不同的時(shí)間顯示不同的widget)
4.在主屏或負(fù)一屏都可以添加
Widget類似于TodayWidget是一個(gè)獨(dú)立運(yùn)行的程序对湃,需要在項(xiàng)目中進(jìn)行App Groups的設(shè)置才能使其與主程序互通數(shù)據(jù),在iOS 14上遗淳,Today Extension依然可以使用拍柒,但是其功能受限,只能在負(fù)一屏展示它屈暗,用戶不能隨意的將其放在指定屏的指定位置拆讯。
5.一個(gè)App也可以提供多個(gè)Widget組件,用戶可以選擇將其最關(guān)心的放置在最重要的位置上养叛,以便最方便的獲取信息种呐。對(duì)于同一種Widget組件,開發(fā)者也可以提供不同的尺寸或不同的布局弃甥,這可以提供給用戶更多的選擇以滿足不同用戶的偏好爽室。
存在的問題
1.WidgetExtension 使用的是新的WidgetKit,不同于TodayWidget淆攻,小組件的UI部分只能夠使用SwiftUI來開發(fā)阔墩,所以需要SwiftUI和Swift基礎(chǔ)嘿架。
2.Widget只支持3種尺寸systemSmall (2x2)、 systemMedium (4x2)啸箫、 systemLarge(4x4)
3.widget不支持連續(xù)的實(shí)時(shí)更新
4.ios14的開發(fā)需要安裝Xcode 12 beta 版本進(jìn)行耸彪。
????注意,Xocde12 beta 只支持macOS 10.15.4忘苛,目前僅發(fā)布了測試beta版蝉娜,正式版官方還沒定時(shí)間,要等iOS 14正式發(fā)布扎唾。
踩坑教程:
https://blog.csdn.net/qq_38718912/article/details/107658804
坑:關(guān)于timeline蜀肘,iOS14 Widget是無法主動(dòng)更新數(shù)據(jù)的!;痢!
使用場景
支付小部件: 快捷調(diào)用支付寶/微信掃一掃和付錢碼
每日一言西乖、每日成語狐榔、每日單詞
倒計(jì)時(shí): 時(shí)刻提醒你重要事件
RSSReader: 桌面上就能獲取到你想要的最新的資訊
天氣:顯示當(dāng)日的天氣情況
ToDoList:要做的事情的列表
stock:股票走向
sports:當(dāng)日的運(yùn)動(dòng)量
主要參考鏈接:
官網(wǎng)鏈接:
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
其他鏈接: