VStack Vstack에서 사용하는 alignment .leading 좌측정렬 .trailing 우측정렬 .center 중앙정렬 LazyVStack LazyVStack은 프레임이 가로 방향으로 최대로 커지는 Stack LazyVStack에는 pinnedVie
이런식으로 GeometryReader의 가로, 세로 크기를 사용할 수 있다컴포넌트 위치시키는 방법아래 코드는 중앙에 위치시킨다이런식으로 GeometryReader의 좌표를 나타낼 수 있다
GridItem에서 지정한 길이는 LazyHGrid는 세로 길이, LazyVGrid는 가로 길이이다.fixed는 고정된 값.flexible은 상황에 따라 길이만 변한다.adaptive는 상황에 따라 길이와 배열된 개수도 바뀐다rows라는 옵션은 가로줄의 개수를 정한다왼
ScrollViewReader로 스크롤뷰 안에 있는 위치로 이동할 수 있다.id로 구분하기 때문에 id가 있어야 한다.id(item)이라는 코드로 id를 지정해줄 수 있다아래 코드로 에니메이션과 함께 원하는 위치로 이동 가능하고 anchor가 .center이므로 화면의
background 수정자 안에 shadow를 주게 되면 버튼 바깥쪽에만 shadow가 들어간다.버튼에 직접 shadow를 주면 버튼 내부 컴포넌트 전부에 shadow가 적용된다.
ColorPicker로 직접 색을 선택할 수 있는 UI를 제공할 수 있다.supportOpacity를 false로 바꾸면 불투명도 조절하는 부분은 나타나지 않는다
displayedComponents는 배열로 .date와 .hourAndMinute를 받을 수 있다.datePickerStyle에는 compact, graphical, wheel 등이 있다..labelsHidden()은 label을 지울 수 있다. datePicker뿐
DisclosureGroup으로 아래로 뷰를 접었다 펼쳤다 하기 가능DisclosureGroup안에 DisclosureGroup 중첩 가능DisclosureGroup
Form은 자동으로 그룹화된 리스트 스타일 적용VStack과 다르게 기본적으로 Grouped List 스타일을 사용해서 설정 화면처럼 보임, 내부 컴포넌트 간 간격 조정Form 내부에 TextField, Toggle, DatePicker 등을 배치하면 적절한 간격과 스
타이틀 + 콘텐츠를 포함할 수 있음label을 사용해 제목을 설정할 수 있음.내부에서 VStack, HStack, Form 등을 사용할 수 있음.설정 화면에서 관련된 옵션을 묶을 때 유용함.
HStack과 다르게 자동으로 정렬해준다
Text에 url을 입력하는거랑 Link에 url을 입력하는거 모두 지정된 url로 이동가능하지만 Link가 더 편리하고 UI편집가능
default.listStyle(PlainListStyle())
Menu Picker
OutlineGroup은 SwiftUI에서 트리 구조(Tree Structure) 데이터를 계층적으로 표시할 때 사용한다. 부모-자식 관계가 있는 데이터를 계층적으로 보여주는 리스트를 만들 수 있다.
로딩창이나 진행률을 표시할때 사용
TextFieldSecureFieldTextEditorTextEditor는 placeholder를 지원하지않는다.
slider의 옵션인 value, in, step은 순서대로 slider의 위치, 범위, 간격을 나타낸다minimumValueLabel, maximumValueLabel 로 slider 양 끝 UI를 지정할 수 있다.둘 다 같은 형태로 지정해야함, 한쪽은 이미진데 다른
stepper도 옵션의 value에 바인딩 값을 받고, in에 범위를 받고 내부에 컨텐츠를 넣는다컨텐츠의 텍스트는 조절 가능해도 +,-버튼은 변경할 수 없다.labelsHidden()를 이용해서 +,-버튼만 나오게 하는것도 가능하다
tabView도 tag를 사용한다tabView옵션에 selection으로 선택된것을 탐색한다tabView안에 화면 컨텐츠를 넣고 그 컨텐츠에 .tabItem으로 TabView의 UI를 변경할 수 있다.하지만 그 UI를 가로 배치는 안되고 많은 컨텐츠 추가는 무시된다.t
@ScaledMetric은 SwiftUI에서 자동 크기 조정을 지원하는 다양한 기능 중 하나이며, 다양한 디바이스와 환경에서 유용하다.@ScaledMetric 사용하면 값을 고정해도 디바이스에따라 동적으로 값이 바뀐다font의 .title같은 것들도 동적으로 사이즈가
isOn옵션에 바인딩 변수.toggleStyle(SwitchToggleStyle(tint: Color.red)) 이 수정자로 토글 스타일과 토글 색깔 변경 가능
RoundedRectangle(cornerSize: CGSize(width: 40, height: 80)) 이런식으로 모서리를 조절할 수 있음.fill 과 .foregroundColor 중 무엇을 써도 상관은 없으나 fill은 shape에서만 사용가능capsule()은
ios15보다 낮을때 사용ios15 이상 일때 사용