티스토리 뷰

안녕하세요. 오늘은 iOS에서 유용한 라이브러리를 소개해드리려고 합니다.

이 라이브러리를 쓰는 이유

사진이나 노래들의 순서를 변경하는 레이아웃을 개발할 때 어떻게 하시나요?
드래그를 통해 리스트의 순서를 변경하는 레이아웃을 사용하고 싶은데 방법을 모르겠고...
이러한 문제를 해결하기 위해 이 라이브러리를 소개합니다.

라이브러리 소개

RAReorderableLayout는 드래그를 통해 리스트의 순서를 변경할 수 있습니다.
UICollectionView를 상속받아 구현하였으며 자세한 내용은 하단에서 확인하실 수 있습니다.
RAReorderableLayout

간단한 사용법

cocoapods로 라이브러리를 받습니다.

use_frameworks!
pod 'RAReorderableLayout'

먼저 UICollectionView의 layout을 RAReorderableLayout으로 설정합니다.

(collectionView.collectionViewLayout as! RAReorderableLayout)
    .scrollDirection = .horizontal // .vertical
// collectionView의 정렬 방향을 설정합니다.

RAReorderableLayout 함수

func collectionView
(_ collectionView: UICollectionView, at: IndexPath, didMoveTo toIndexPath: IndexPath)
// at은 어디에서 to는 어디로 갔는지에 대한 정보가 반환값으로 전달된다.
// 이 함수가 호출되고 collectionView를 reload하니
// 이 함수에서 collectionView가 참조하는 데이터를 변경하여야 합니다.

func collectionView
(_ collectionView: UICollectionView, allowMoveAt indexPath: IndexPath) -> Bool
// 이 indexPath의 item을 이동시킬 수 있는지를 설정할 수 있습니다.

func collectionView
(_ collectionView: UICollectionView, at: IndexPath, canMoveTo: IndexPath) -> Bool
// 이 indexPath로 item을 이동시킬 수 있는지를 설정할 수 있습니다.

라이브러리 사용 영상

마치며

간단하죠? 라이브러리 사용 관련 질문은 댓글에 남겨주세요.
아는만큼 대답하겠습니다! 라이브러리 사용 코드는 하단에 남기겠습니다.
GitHub - Foodle

감사합니다!

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday