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中呼叫
WidgetCenter.shared.reloadAllTimelines() 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.uj5u.com/yidong/472420.html
標籤:其他
