2

私はすでに答えをここで確認しました(ScrollView は Geometry Reader を子としてスクロールしません)、これはかなり似ていると思いますが、理解できませんでした。

私の目標は、画像を同じサイズ (二次) で表示することです。

これが私の見解です:


struct MyGeoView: View {
    
    let icons = ["bed.double.fill","tram.fill","tv.music.note.fill","hare.fill", "person", "clock", "plus", "trash", "home", "arrow", "pencil", "scribble", "folder", "folder.circle", "trash.circle", "paperplane"]
    
    var body: some View {
        
        GeometryReader{ geo in
            ScrollView{
                GeometryReader{ geo in
                    LazyVGrid(columns: Array(repeating: GridItem(.flexible()), count: 3), spacing: 3 ){
                        ForEach(icons, id: \.self){ post in
                            Image(systemName: post)
                                .frame(width: geo.size.width/3, height: geo.size.width/3)
                                .background(Color.pink)
                                .foregroundColor(.white)
                        }
                    }
                }
            }
        }
    }
    
}

残念ながら、適切にスクロールせず (バウンス)、常に先頭に戻ります。何かアイデアはありますか?

ありがとう!

4

1 に答える 1