什么是ImageRenderer
用于从 SwiftUI 视图中导出位图图像数据。您使用视图初始化渲染器,然后通过调用该方法或使用渲染器的属性创建一个、或来按需渲染图像。通过绘制到 Canvas并导出,您可以从任何程序渲染的内容(如路径、形状、渐变等)生成图像。您还可以渲染标准 SwiftUI 视图,例如视图,或多种视图类型的容器。
var body: some View {
let trophyAndDate = createAwardView(forUser: playerName,
date: achievementDate)
VStack {
trophyAndDate
Button("Save Achievement") {
let renderer = ImageRenderer(content: trophyAndDate)
if let image = renderer.cgImage {
uploadAchievementImage(image)
}
}
}
}
private func createAwardView(forUser: String, date: Date) -> some View {
return VStack {