Swiftui 如何将子视图与小部件的前缘对齐,而不是与ZStack中的背景图像对齐?

Swiftui 如何将子视图与小部件的前缘对齐,而不是与ZStack中的背景图像对齐?,swiftui,zstack,Swiftui,Zstack,图像大于小部件框架大小,其比例为16:10 问题是,对于ZStack中的子视图,当小部件大小时,图像(作为背景)和图像上方的视图都没有与小部件本身对齐,而是超过,只有一半显示 是否有办法将所有子视图沿小部件本身的前缘定位 以下是图片和代码: var body: some View { ZStack(alignment: .leading) { Image("bkgImage") .resizable()

图像大于小部件框架大小,其比例为16:10

问题是,对于
ZStack
中的子视图,当小部件大小时,图像(作为背景)和图像上方的视图都没有与小部件本身对齐,而是超过,只有一半显示

是否有办法将所有子视图沿小部件本身的前缘定位

以下是图片和代码:

   var body: some View {
    ZStack(alignment: .leading) {
            Image("bkgImage")
            .resizable()
            .aspectRatio(contentMode: .fill)
        
        if self.widgetFamily == .systemSmall {
            SmallWidgetView()
                .padding(.leading, 12)

        } else if self.widgetFamily == .systemMedium {
            mediumView
                .padding(.leading, 12)
                .padding(.trailing, 12)
        }
    }
}

非常感谢

您可以:

  • 重新格式化您的图像

  • 将您的ZStack更改为H/VStack,将您的小部件从那里取出并转换为父ZStack,如下所示:

    ZStack{ VStack{ 图像() } SmallWidgetView() }