SwiftUI는 컬렉션에서 객체를 삭제하는 방법을 제어하는 데 사용할 onDelete() 수정자를 제공한다. 이 기능은 목록에서 각 행에만 사용된다.
기본 코드
import SwiftUI
struct ContentView: View {
@State private var fruits = [
"Apple",
"Banana",
"Papaya",
"Mango"
]
var body: some View {
NavigationView {
List {
ForEach(fruits, id: \.self) { fruit in
Text(fruit)
}
.onDelete { fruits.remove(atOffsets: $0) }
.onMove { fruits.move(fromOffsets: $0, toOffset: $1) }
}
.navigationTitle("Fruits")
.toolbar {
EditButton()
}
}
}
}
실행화면
- onDelete()이 작동하려면 IndexSet 형식의 단일 파라미터를 수신할 메서드가 있어야 한다. 이것은 정수의 집학과 비슷하지만 정렬되어 있다.
- 각 항목에 대해 제거해야 할 모든 항목의 위치를 알려 준다.
Navigation View를 이용해서 전체선택 또는 개별 선택하기
- VStack위에 NavigationView를 덮고, NavigationView안에 아래 두 가지 아이텐 중에 하나를 선택해 추가해주면 된다.
개발자 Document
'Language > Swift' 카테고리의 다른 글
SwiftUI를 이용한 Gesture 활용하기 (0) | 2022.11.08 |
---|---|
SwiftUI를 이용한 여러 뷰 다루기 (0) | 2022.11.06 |
SwiftUI를 이용한 구분선 그리기 (Divider) (0) | 2022.11.04 |
SwiftUI를 이용한 숨기기 위젯 구현하기(DisclosureGroup) (0) | 2022.11.03 |
SwiftUI를 이용한 트리거 이벤트 발생 ( Button ) (0) | 2022.11.02 |
댓글