在更新到Xcode测试版并构建/运行我的应用程序后,我开始在我所有的小部件上收到一个错误“请采用containerBackground API”,我发现了一个帖子,其中有一个解决方案,以适应iOS 14-16
import Foundation
import SwiftUI
extension View {
@ViewBuilder
func widgetBackground() -> some View {
let gradient = LinearGradient(gradient: Gradient(colors: [Color("LightBlue"), Color("DarkBlue")]), startPoint: .topLeading, endPoint: .bottomTrailing)
if #available(watchOS 10.0, iOSApplicationExtension 17.0, iOS 17.0, macOSApplicationExtension 14.0, *) {
self.containerBackground(gradient, for: .widget)
} else {
self.background(gradient)
}
}
}
我把它添加到我的ZStack小部件,它什么也不做。我仍然得到相同的错误,采用containerBackground API。我做错了什么?
1条答案
按热度按时间unhi4e5o1#
您需要将.containerBackground(.....)添加到所有小部件视图中,无论它们之前是否具有.background