리스트아이템 뷰에 적용하기
// Row.swift
struct Row: View {
var body: some View {
{ ... }
.buttonStyle(.plain)
}
}
또는
// List.swift
List {
ForEach(...) {
Row()
.buttonStyle(.plain)
}
}
List {
ForEach(...) {
Row()
.buttonStyle(.plain) // 👈 2
}
}
.listStyle(.plain)
.buttonStyle(.plain) // 👈 1
ForEach
에 적용하는 경우 de-select가 다소 늦게 동작하는 현상이 있었습니다. 예를 들어 swipe action을 하는 경우 selected 상태가 유지 되다가 터치를 떼는 순간 deselect 됩니다.
기대했던 동작으로 잘 되는 것을 확인할 수 있습니다. Row 뷰에 바로 적용하는 방법을 추천합니다.