![e16f2223202e4065990c0cf924462e37.png](https://i-blog.csdnimg.cn/blog_migrate/0a5a7aa39e59093fe7647989d3978718.jpeg)
WWDC2020的Widget教学视频附带的程序,需要你有一个Developer账户,并且有注册的设备才可以运行。这里咱们搞一个乞丐版的widget例子。很简单,就是在桌面的widget上循环显示几句话,当用户点击某句话的时候会进入该句话对应的页面。
- 新建一个SwiftUI的iOS App,命名为HelloWidget
2. 点击HelloWidget新建一个target,在选项卡里搜索widget extension,命名为MyWidget.
3. 新建一个Swift文件,用于存放数据,命名为data.swift,勾选HelloWidget和MyWidget,这样两个Group就都可以看到Swift定义的变量/常量了。
好了,整体结构就搭起来了,现在要做的就是填入代码。
- 在data.swift定义一个struct
struct Lyrics: Hashable, Identifiable, Codable {
let id:String {
text
}
let text:String
static let lyrics:[Lyrics] = [Lyrics(text:"你是我的玫瑰"), Lyrics(text:"你是我的花"),
Lyrics(text: "你是我的爱人"), Lyrics(text: "是我的牵挂")]
}
2. 在ContentView.swift里做一个简单的NavigationView
3. 修改MyWidget.swift
3.1 SimpleEntry改成
struct SimpleEntry: TimeLineEntry {
let date: Date
let text: Lyrics
}
3.2 把Provider.placeholder(), Provider