[swift] IGListKit에서 셀 선택 유지하는 방법
IGListKit은 UICollectionView를 기반으로 한 데이터 주도형 UI 프레임워크입니다. 셀 선택을 유지하기 위해서는 IGListKit의 didSelectItem 메소드를 사용하여 선택된 셀의 상태를 저장하고 관리해야합니다.
아래는 IGListKit에서 셀 선택을 유지하는 방법에 대한 예시입니다:
- 먼저, IGListKit의
IGListAdapterDelegate
프로토콜을 구현해야합니다.
class MyAdapterDelegate: NSObject, IGListAdapterDelegate {
var selectedItems: Set<IndexPath> = []
func listAdapter(_ listAdapter: IGListAdapter, didSelectItemAt indexPath: IndexPath) {
selectedItems.insert(indexPath)
// 선택된 셀의 상태 등을 업데이트하는 로직 추가
}
func listAdapter(_ listAdapter: IGListAdapter, didDeselectItemAt indexPath: IndexPath) {
selectedItems.remove(indexPath)
// 선택 해제된 셀의 상태 등을 업데이트하는 로직 추가
}
}
IGListAdapter
인스턴스를 초기화할 때adapter(_:didSelectItemAt:)
메소드를 호출할 수 있는IGListAdapterDelegate
인스턴스를 할당해야합니다.
let adapterDelegate = MyAdapterDelegate()
let adapter = IGListAdapter(updater: IGListAdapterUpdater(), viewController: self, workingRangeSize: 0, selectionDelegate: adapterDelegate)
// adapter 설정 및 사용
- 해당 셀의 선택 상태에 따라 UI를 업데이트하고 필요에 따라 저장된 선택된 셀의 상태를 관리하면 됩니다.
위의 예시에서는 selectedItems
라는 Set<IndexPath>
프로퍼티를 사용하여 선택된 셀의 인덱스 패스를 저장하고 있습니다. 선택된 셀의 상태를 변경하기 위해서는 이 프로퍼티를 참조하여 UI를 업데이트하거나 셀의 상태를 관리하는 로직을 추가하면 됩니다.
IGListKit 공식 문서 및 예제에서 더 자세한 내용을 참고하실 수 있습니다.
- IGListKit GitHub 레포지토리: https://github.com/Instagram/IGListKit
- IGListKit 공식 문서: https://instagram.github.io/IGListKit/
위의 방법을 따라 IGListKit에서 셀 선택을 유지할 수 있습니다.