如何禁用SwiftUI ScrollView裁剪

时间:2020-07-10 16:58:00

标签: ios swiftui

请参见以下示例代码:

ScrollView(.horizontal, showsIndicators: false) {
    HStack(spacing: 20) {
        ForEach(0 ..< 12) { index in
            Rectangle()
                .foregroundColor(.white)
                .frame(width: 100, height: 100, alignment: .center)
                .shadow(radius: 20)
        }
    }
}

此示例代码将导致水平ScrollViewRectangle为元素。

但是,看起来ScrollView实际上会裁剪其内容 因此顶部和底部的任何阴影都将被裁剪。

是否有任何方法可以通过scrollview禁用自动剪辑 或实现此目的的另一种方法?

1 个答案:

答案 0 :(得分:0)

阴影不会影响Rectangle的框架。因此,尝试通过增加矩形的帧大小(包括阴影)来向矩形添加填充,以使阴影仍然可见。

ForEach(0 ..< 12) { index in
    Rectangle()
        .foregroundColor(.white)
        .frame(width: 100, height: 100, alignment: .center)
        .shadow(radius: 20)
        .padding(20) //<< Padding here for the radius
}