2019년 10월 27일 일요일

SwiftUI layout system 을 읽고

https://kean.github.io/post/swiftui-layout-system

1. Layout Basics

safearea

Layout Process

parent가 child에게 '너의 크기 이렇게 할까'라고 제안 -> child는 자신의 크기를 지정 -> parent는 child가 지정한 크기로 child를 자신의 coordinate space 안에서 위치시킨다.

Frame

2.Stack

HStack, VStack, ZStack

Stack Process

stack은 내부의 spacing을 계산하고 자신의 size에서 이 값을 제외 -> child들을 균등하게 나눌 경우의 size를 계산. 이 값은 우선 least flexible child에게 제안. 이 child로부터 지정된 size를 자신의 size에서 제외. 남은 size를 남은 child들을 가지고 size 제안 반복  -> 모든 child는 size를 가지고, stack은 spacing과 align에 따라 child들을 위치시킨다.

3. Environment

댓글 없음:

댓글 쓰기

Building asynchronous views in SwiftUI 정리

Handling loading states within SwiftUI views self loading views View model 사용하기 Combine을 사용한 AnyPublisher Making SwiftUI views refreshable r...