Closed swanfly closed 1 year ago
GeometryReader包裹ACarousel时会产生一条空白区域(如图所示),但是包裹Image不会产生横线,请问如何去掉该空白区域。代码分别如下所示。
/// GeometryReader下为Image时,效果正常,无空白区域 struct StickyDetailImageView: View {
var body: some View { ScrollView(.vertical, showsIndicators: false) { GeometryReader { geometry in Image("ic_img_placeholder") .resizable() .scaledToFill() .clipped() .frame(width: geometry.size.width, height: 250) } .frame(height: 250) .background(.blue) Text("GeometryReader下为Image时,效果正常,无空白区域").frame(width: UIScreen.main.bounds.width, height: 300).background(.green) } .ignoresSafeArea() }
}
/// GeometryReader下为ACarousel时,效果异常,GeometryReader下会产生一条空白区域 struct StickyDetailACarouselView: View {
let lstBannerData: [DataResBean] = [DataResBean(id: 1, url: "ic_img_placeholder"), DataResBean(id: 2, url: "AppIcon"), DataResBean(id: 3, url: "ic_qrcode_app_download")] @State var currentBannerIndex = 0 var body: some View { ScrollView(.vertical, showsIndicators: false) { GeometryReader { geometry in ACarousel(lstBannerData, index: $currentBannerIndex, spacing: 0, headspace: 0, sidesScaling: 1.0, isWrap: true, autoScroll: .inactive) { item in Image(item.url) .resizable() .scaledToFill() .frame(width: geometry.size.width, height: .none) } .frame(width: geometry.size.width, height: 250) .background(.red) .onTapGesture { print(geometry.frame(in: .global).minY) } } .frame(height: 250) .background(.blue) Text("GeometryReader下为ACarousel时,效果异常,GeometryReader下会产生一条空白区域").frame(width: UIScreen.main.bounds.width, height: 300).background(.green) } .ignoresSafeArea() }
GeometryReader包裹ACarousel时会产生一条空白区域(如图所示),但是包裹Image不会产生横线,请问如何去掉该空白区域。代码分别如下所示。
/// GeometryReader下为Image时,效果正常,无空白区域 struct StickyDetailImageView: View {
}
/// GeometryReader下为ACarousel时,效果异常,GeometryReader下会产生一条空白区域 struct StickyDetailACarouselView: View {
}![WX20221027-235753@2x](https://user-images.githubusercontent.com/5317370/198340226-9a4f003e-4ecc-4e2b-93d8-9e881aa69a1b.png)