← 아카이브로 돌아가기

Development · SwiftUI

LazyVStack과 LazyHStack은 언제 필요할까

화면에 필요한 시점에 자식 뷰를 만드는 Lazy Stack의 특징과 일반 Stack과의 차이를 비교합니다.

Velog 원문 보기 ↗

Development 아카이브 표지

스크롤 안에 많은 뷰를 한꺼번에 만들면 아직 보이지 않는 항목에도 비용을 쓴다. Lazy Stack은 필요한 시점까지 생성을 미루지만 일반 Stack과 레이아웃을 잡는 방식에도 차이가 있다.

LazyV(H)Stack

일반 Stack의 경우 화면에 나타나기 전 모든 데이터를 로드하지만, LazyStack의 경우 화면에 나타난 후에 데이터를 로드한다.

ScrollView {
	LazyVStack(alignment: .leading) {
		ForEach(0..<100) { index in
			Text("LazyStack \(index)")
		}
	}
	.background(.blue)
}

LazyStack은 유연하게 너비를 갖기 때문에 일반 스택과 다르게 자동으로 여유 공간을 차지한다.

← 아카이브로 돌아가기