- OutlineGroup은 SwiftUI에서 트리 구조(Tree Structure) 데이터를 계층적으로 표시할 때 사용한다.
- 부모-자식 관계가 있는 데이터를 계층적으로 보여주는 리스트를 만들 수 있다.
- 반복할 대상의 id를 미리 정해놨으면 id 부분은 아예 지워도 된다
- 화살표는 outlineGroup에 기본으로 생긴다
- List를 사용하면 자동으로 들여쓰기가 된다
- foregroundColor를 사용하면 내가 만든 컨텐츠 색이 바뀌고
- accentColor를 사용하면 자동으로 생성된 화상표 색이 바뀐다
struct Person: Identifiable {
var id = UUID()
var name = ""
var children: [Person]? = nil
}
struct OutlineGroup: View {
var parents = [Person(name: "Mark",
children: [Person(name: "Paola")]),
Person(name: "Rodrigo",
children: [Person(name: "Kai"),
Person(name: "Brennan"),
Person(name: "Easton")]),
Person(name: "Marcella",
children: [Person(name: "Sam"),
Person(name: "Melissa"),
Person(name: "Melanie")])]
var body: some View {
VStack {
List {
Section(header: Text("Managers")) {
OutlineGroup(parents, children: \.children) { person in
HStack {
Image(systemName: "person.circle.fill")
Text(person.name)
Spacer()
}
}
}
}
}
.padding()
}
}
