project/Kuring(공지알림)

[SwiftUI] List accessory (feat. disclosure indicator)

lgvv 2022. 5. 31. 11:29

List accessory (feat. disclosure indicator)

 

✅ 이번에도 제목이 다소 UIKit스럽다.

저번 포스팅에서도 언급했지만, UIKit을 먼저 공부하고 SwiftUI를 하다보니까, 검색도 UIKit스럽게 하기 때문에!

 

StackOverflow에서는 ZStack을 이용해서 해결하던데, 맘에 들지 않았다. 그래서 처음 생각!

init() { 
	UITableViewCell ... 
}

이렇게 해서 해결해 보려고 했는데, 근데 적용할 만한 메소드가 보이지가 않았다.

 

 

결국 StackOverflow처럼 해결해야 했는데 한번 같이 알아보자!

 

✅ 올바른 case

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)")
    }
}

ZStack을 이용해서 위에 EmptyView를 얻습니다. 그리고 그것의 투명도를 0으로 조절하여 뒤에 인디케이터를 가립니다.

그리고 그 위에 Text를 얹어서 사용합니다!

 

 

 

결과물

 

(이전 포스팅)

2022.05.30 - [iOS프로젝트/Kuring] - [SwiftUI] List Row 선택하기(TableView didSelectRow)

 

[SwiftUI] List Row 선택하기(TableView didSelectRow)

List Row 선택하기(TableView didSelectRow) ✅ 오랜만이다! 제목이 참 UIKit스럽다. 제목을 이렇게 작성하게 된 이유로는 내가 1년 정도 UIKit을 사용하면서 이미 사고가 여기에 익숙해진 상태인데, SwiftUI

rldd.tistory.com