SwiftUI OutlineGroup

황인성·2025년 2월 18일

iOS

목록 보기
15/24
post-thumbnail

  • 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()
    }
}
profile
iOS, Spring developer

0개의 댓글