• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    해결됨

LazyGrid 강의 문의 - 데이터가 30개 인데 로우가 3줄이면 27개만 노출됨

24.05.14 11:30 작성 24.05.15 12:05 수정 조회수 69

0

// 2. LazyHGrid
struct LazyGridBasic2: View {
    // LazyHGrid
    // title 을 1000 개 변수로 생성
    // ["목록 1","목록 2", ... "목록 30"] [String]
    
    let title: [String] = Array(1...30).map {"목록 \($0)"}
    
    // 화면 그리드형식으로 채워줌
    let rows: [GridItem] = [
        GridItem(.flexible(maximum: 80)),
        GridItem(.flexible(maximum: 80)),
        GridItem(.flexible(maximum: 80))
    ]
    
    var body: some View {
        // 2 - LazyHGrid
        // ScrollView horizontal
        ScrollView(.horizontal) {
            LazyHGrid(rows: rows,
                      spacing: 20,
                      content: {
                ForEach(title, id:\.self) { item in
                    VStack {
                        Capsule()
                            .fill(Color.yellow)
                            .frame(height: 30)
                        Text(item)
                            .foregroundColor(Color.blue)
                    }
                }
            })
        }
    }
}

30개 LazyHGrid 사용시

한줄일때는 30개가 노출되는데

3줄일때는 27개만 노출 됩니다. 왜 이럴까요 ?

 스크린샷 2024-05-14 오전 11.31.26.png


강의 관련된 질문은 언제나 환영입니다 😄

  • 코드 관련 상세하게 작성해주시면 더 좋아요! (상세코드를 붙여넣기 해주세요)

  • 마크다운을 사용해서 편리하게 글을 작성하세요

  • 먼저 유사한 질문이 있었는지 먼저 검색 해보는 습관~

  • 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요

답변 1

답변을 작성해보세요.

0

안녕하세요 랑프 님.

질문주신 LazyGridBasic2 에서 30을 입력 했는데 Preview 상에서 27 까지만 나오는 것을 확인 했습니다.

Simulator 로 확인한 결과 마지막 30까지 출력이 되었습니다. 가끔 Preivew 에서 특정 error 로 인해 정확히 구현 되지 않는 기능들도 있기 때문에 발생되는거 같습니다.

cmd + R 으로 파일을 빌드 하셔서 Simulator 상에서 확인 부탁드립니다

감사합니다.

image

image