在位于滚动视图上方的 SwiftUI 视图上使用 .shadow 修饰符,当其他视图重叠时可以看到可见的阴影线

Using the .shadow modifier on a SwiftUI View that sits above a scrollview, a visible shadow line can be seen when other views overlap

在我的应用程序底部,我有一个包含按钮的矩形(都在前景中)。然后我在它下面有另一个矩形,它是高度的一半,所以我可以在它上面添加阴影修改器。在它下面是一个滚动视图,其中包含一组使用 ForEach 生成的视图。

当它下面没有 ForEach 视图时,影子效果很好,影子代码也没什么花哨的。

ZStack(alignment: Alignment(horizontal: .leading, vertical: .top)) {
                Rectangle()
                    .frame(height: 60)
                    .foregroundColor(.white)
                    .shadow(color: Color("LightDarkModeShadow"), radius: 20, x: 0, y: -5)
                    .opacity(0.33)
                Rectangle()
                    .frame(height: 110)
                    .foregroundColor(Color("LightDarkModeBackground"))

但是,当滚动视图包含条目并且它们位于阴影下方时,会在视图上方显示一条线。它似乎没有正确混合。有什么办法可以解决这个问题,还是这只是设计使然?

感谢@RajaKishan 在评论中为我指明了正确的方向。滚动视图应用了 .padding(.bottom)。我认为它与矩形阴影对接并创建了一条线。我在滚动视图中添加了一个负填充值:

.padding(.bottom, -10)

问题现已解决!