SwiftUI List accessory (feat. disclosure indicator)
이번에도 UIKit스러운 제목으로 가져가는데, 구글에서 검색할 때 SwiftUI를 UIKit 검색어로 매핑해서 찾고 있기 때문.
아직까지도 UIKit이 제일 익숙해서 그런가보다.
StackOverflow 답변의 접근법
ZStack 통해 문제를 해결하고 있는데, 개인적으로 뭔가 깔끔하지는 않다고 느낌.
아래 코드처럼 UITableViewCell에서 ContentView 부분을 접근해서 해결해보고자 했는데 실패.
SwiftUI가 Instrument를 통해 성능을 분석하다 보면 UIKit을 감싸 두기만 한 것들도 많아서 시도해 본 케이스인데 올바른 접근 방법 같지는 않음.
init() {
UITableViewCell ...
}
결국 StackOverflow에서 제시한 방향으로 개발 진행
올바른 케이스
ZStack을 이용해서 위에 EmptyView를 위치함.
그리고 EmptyView의 투명도를 0으로 조절하여 뒤에 인디케이터를 가림.
이후 Text를 얹어서 사용함.
import SwiftUI
struct didSelectRow: View {
var body: some View {
NavigationView {
List {
ForEach((0...10), id: \.self) { index in
ZStack {
NavigationLink {
secondView(index: index)
} label: {
EmptyView() // SwiftUI에서 기본적으로 제공하고 있습니다.
}
.opacity(0)
Text("\(index)")
}
}
}
}
}
func secondView(index: Int) -> some View {
var body: some View {
Text("\(index)")
}
return body
}
}
struct nextView: View {
let index: Int!
var body: some View {
Text("\(index)")
}
}
스크린샷


'project > Kuring(공지알림)' 카테고리의 다른 글
| Git-flow 전략과 프로젝트 적용하기 (2) | 2022.06.10 |
|---|---|
| [SwiftUI] UIActivityViewController를 SwiftUI로 (0) | 2022.05.31 |
| SwiftUI List Row 선택하기(TableView didSelectRow) (0) | 2022.05.30 |
| Thread 1: "Attempt to insert non-property list object () for key ... (0) | 2022.05.05 |
| iOS UITableViewCell Swipe Action 구현하기 (0) | 2022.05.05 |