UICollectionViewDelegate
: manages user interactions with the collection view’s contents, including item selection, highlighting, and performing actions on those items. The methods of this protocol are all optional.
컬렉션뷰 셀 선택 및 선택 후 액션 등에 관련한 메서드들을 다루는 delegate로, 이 프로토콜의 모든 메서드는 옵셔널이다.
Managing the Selected cells
: 선택된 cell의 index path를 delegate에게 알려주는 메서드.
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
컬렉션뷰 셀 선택시 호출되며, 가장 흔히 사용되는 메서드.
It does not call this method when you programmatically set the selection. 이라고 되어 있는데, 이건 무슨 말일까.
collectionView.selectItem(at: _) 호출하면 작동이 안된다는건가?
: 선택 해제된 cell의 index path를 delegate에게 알려주는 메서드.
func collectionView(_ collectionView: UICollectionView, didDeselectItemAt indexPath: IndexPath)
문제의 이 메서드.. 당연히 선택한 cell을 다시 눌러 선택 해제할 때 쓰이는 건 줄 알았는데 아.니.다.
여기서 선택 해제란, cell 한개만 선택 가능할 때 선택된 cell 에서는 didSelectItemAt 이 호출되고, 기존에 선택되어있던 cell 에서didDeselectItemAt 이 호출되는 것이었다... (자동 선택 취소 느낌으로?)
그렇다면 이 함수는 multiple selection일 때는 의미가 없는 것인가..
'Swift iOS 앱 개발 > iOS' 카테고리의 다른 글
[Swift iOS] 처음엔 어렵지만 알고나면 너무나도 편리한 UIStackView 사용법 (0) | 2022.09.21 |
---|---|
[Swift iOS] imageSlideShow (0) | 2022.09.20 |
UIScrollViewDelegate (0) | 2022.09.15 |
[Swift iOS] 앱에서 web 페이지 여는 방법 세 가지 (0) | 2022.09.02 |
[Swift iOS] Custom Camera 커스텀 카메라 만들기 (0) | 2022.02.04 |