Button, Text, Image, Stack, List, Section
- 눌러서 쓰는 Button 사용해보기
- Button의 label은 View 형태인 closure?
- 여러 개의 형태가 있으니 잘 사용할 것 (title, role, action) 인 것도 있다.
- 글자를 보여주는 Text 사용해보기
- 글씨체
- eg. bold(), italic(), strikethrough()
- .font
- .font(.system(size: )): 글자 크기 설정
- .underline(Bool, color: ): 밑줄
- Image는 어떻게 추가해요?
- 기본 형태: Image(String), String은 Assets에 저장된 이미지 이름이다.
- .aspectRation(): 비율 설정
- clipped(): frame에 맞춰 이미지 자름
- Stack으로 쌓아보아요! VStack, HStack, ZStack
- ScrollView로 화면보다 큰 컨텐츠 움직이기
- 화면보다 많은 걸 쌓으면 ScrollView 사용
- UITableView와 닮은 List로 리스트 만들기
- List안에서 구역을 나눠주는 Section
- Section(contents: , header: , footer: )
- section의 위 아래에 View를 넣을 수 있다.
Spacer, Color, View, State, modifier, padding, frame
- 컴포넌트 사이에 공간을 만들어주는 Spacer
- 컴포넌트들 사이에 공간을 만들어주어야 할 때 Spacer() 사용
- Spacer() 사용시, 컴포넌트들을 가장 끝까지 밀어버리고 나머지를 Spacer가 차지함
- 색상을 그려주는 Color
- .edgesIgnoringSafeArea(): safeArea까지 가려버릴 수 있다.
- .clipShape()를 사용해 모양을 바꿀 수 있다.
- Assets을 통해 커스텀할수도 있다.
- UI를 그릴 때는 View
- 화면을 그릴때 View가 필요하니 View 프로토콜을 만족하는 것들을 넣어주어야 한다.
- View의 설정? 옵션? modifier에 대해 알아보자
- ex) .aspectRatio(), .frame(), .padding()
- 위 예시들 모두 View를 반환함
- 컴포넌트 사이에 공간을 주는 padding
- padding modifier는 edge와 length를 파라미터로 받는데, 이름 없이 받는다.
- edge: .top, .bottom, .leading, .trailing
- 컴포넌트의 사이즈를 잡아주는 frame
- 아무 인자도 넣어주지 않으면 사라짐
- width , height , alignment 가 인자로 존재