当尝试使用最小的 IOS 14 创建小部件时,背景颜色或图像拒绝填充侧面的小部件。 它适用于 containerBackground Modifier,但适用于 IOS 17 或更高版本。 我也看到了同样的question,但是由于某种原因,即使我复制了完全相同的代码,现在的答案仍然有效:
struct WidgetEntryView : View {
var entry: SomeEntry
var body: some View {
VStack(alignment: .leading) {
Spacer()
Text("Aardvark Exactlywhat")
.font(.largeTitle)
.bold()
.padding(.bottom, 20)
.padding(.leading, 20)
.padding(.trailing, 20)
.minimumScaleFactor(0.5)
.foregroundColor(.white)
.shadow(
color: Color.black,
radius: 1.0,
x: CGFloat(4),
y: CGFloat(4))
}
.frame(maxWidth: .infinity, maxHeight: .infinity) // << this one !!
.edgesIgnoringSafeArea(.all)
.background(
backgroundImage()
.resizable()
.scaledToFill()
)
}
解决方法是向图像添加负水平填充。
我测量的间隙为 16pt,但如果图像只是一个空间填充物,并且是否存在大量溢出并不重要,那么您可以将其放大以作为预防措施。
.background(
backgroundImage()
.resizable()
.scaledToFill()
.padding(.horizontal, -16)
)