Chart Proxy
·
SwiftUI
ChartProxyChartProxy를 이용하면 차트의 x,y 값에 접근할 수 있습니다. 또한 position, value 함수를 통해서 주어진 데이터값의 위치와 주어진 위치의 데이터값을 구할 수 있습니다.position: 주어진 값의 위치를 가져옵니다.value: 주어진 위치의 데이터값을 가져옵니다. 아래 코드에서는 charOverlay에서 ChartProxy를 사용하여 proxy.plotContainerFrame 를 통해 plot 을 담고 있는 컨테이너의 프레임을 plotFrame 인스턴스로 받아 "My Chart" 라는 Text를 중앙에 위치시키는 코드입니다.struct ContentView: View { @Environment(ApplicationData.self) private var app..
DownLoading Image from server (AsyncImage)
·
SwiftUI
서버로부터 이미지를 다운받는 방법으로는 AsyncImage가 대표적으로 있습니다. AsyncImage 구조체는 서버 주소로부터 서버에 저장된 이미지를 다운 받을 수 있는 방법입니다. 이 구조체는 URLSession 인스턴스를 사용하여 URL로부터 이미지를 가져오고 출력합니다. 다음은 서버로부터 이미지를 가져오는 예시 코드입니다. 이미지를 가져오기 전까지 view는 표준 placeholder로 임시로 공간을 나타냅니다. 이후 성공적으로 이미지를 가져온다면 view는 이미지를 뷰에 업데이트합니다. 위에 예시 코드를 실행시키면 아래처럼 바뀌게 되는데 placeholder 보다 서버로부터 가져온 이미지가 더 작을 수 있습니다. 또한 init(url:scale:content:placeholder:)를 사용하여 커..
Task Group (withTaskGroup, withThrowingGroup)
·
SwiftUI
TaskGroupTaskGroup은 동적으로 생성되는 자식 task 들을 포함할 수 있는 그룹입니다 task group을 만들기 위해서는 withTaskGroup(of: returning: body:) 메서드를 호출해야합니다.Task execution ordertask group 에 추가된 Task 들은 동시에 실행되며 무작위 순서로 수행될 수 있습니다.Cancellation behaviortask group 은 다음과 같은 이유들로 취소될 수 있습니다* cancelAll() 이 호출되었을 때* 만약 Task 를 수행하고 있는 task group이 취소되었을 경우 TaskGroup는 구조적 동시성(Structured Concurrency)의 기본 구조로, 그 하위 작업들과 그 하위 작업들의 하위 작업들까..
LazyV(H)Grid
·
SwiftUI
레이아웃을 이루는 뷰들을 이차원 배열로 정렬한 큰 수직 스크롤 가능한 컬렉션을 표시하려면 LazyVGrid 를 사용하세요. Grid의 뷰는 그리드 내의 연속된 셀을 차지하며, 첫 번째 행은 leading edge에서 trailing edge까지 차례로 채우고, 두 번째 행도 마찬가지로 채우게 됩니다. 행의 수는 증가할 수 있지만, grid 의 이니셜라이저에 해당하는 GridItem 인스턴스의 수를 제공하여 열의 수를 지정합니다.다음 예제의 grid는 두 개의 열을 정의하고 각 행에 대해 column의 TextView를 반복적으로 생성하기 위해 ForEach 구조체를 사용합니다 grid의 각 행에서 첫번째 column은 Unicode 코드로 웃는 이모티콘을 나타내고 그 이후도 다른 이모티콘을 나타냅니다. ..
DisclosureGroup
·
SwiftUI
DisclosureGroup는 사용자한테 보여주거나 숨기기 위해서 사용됩니다 DisclosureGroup 뷰는 내용을 식별하는 label과 내용을 표시하고 숨기는 컨트롤로 구성됩니다. 내용을 표시하면 디스클로저 그룹은 "확장" 상태가 되고, 숨기면 디스클로저 그룹이 "축소"된 상태가 됩니다.다음 예제에서 2개의 DisclosureGroup는 두 개의 토글과 내장된 디스클로저 그룹과 stepper를 포함하고 있습니다. 이는 계층적으로 이루어지며 탭을 할 경우 하위 계층으로 있는 토글들과 Stepper가 나타나고 다시 한번 탭을 하면 사라집니다.struct ContentView: View { @State private var setActive: Bool = false @State private var..
Form - 설정 메뉴로 주로 사용되는 container
·
SwiftUI
Form 은 설정이나 검사관과 같은 데이터 입력에 사용되는 컨트롤을 그룹화하기 위한 컨테이너입니다. SwiftUI는 form 내부에 포함된 뷰에 플랫폼에 맞는 스타일을 적용하여 이들을 함께 그룹화합니다. form에 특화된 스타일은 버튼, 토글, 레이블, 목록 등과 같은 요소에 적용됩니다. 이러한 스타일은 플랫폼에 따라 다를 수 있습니다. 예를 들어 iOS에서는 폼이 그룹화된 목록으로 나타나고, macOS에서는 정렬된 수직 스택으로 나타날 수 있습니다.다음 예제는 iOS에서 두 섹션으로 그룹화된 간단한 데이터 입력 폼을 보여줍니다. 지원하는 타입 (NotifyMeAboutType 및 ProfileImageSize) 및 상태 변수 (notifyMeAbout, profileImageSize, playNotif..
ytw_developer
IT Document