[swift] DZNEmptyDataSet을 사용하여 빈 상태뷰에 이미지 표시 여부 설정하기

앱의 빈 상태뷰에 이미지를 표시하고 싶다면 DZNEmptyDataSet 라이브러리를 사용할 수 있습니다. 이 라이브러리는 UITableView와 UICollectionView에 빈 상태뷰를 쉽게 추가할 수 있는 기능을 제공합니다.

1. DZNEmptyDataSet 라이브러리 추가하기

DZNEmptyDataSet을 사용하기 위해서는 먼저 해당 라이브러리를 프로젝트에 추가해야 합니다. CocoaPods를 사용하는 경우, Podfile에 다음 라인을 추가합니다.

pod 'DZNEmptyDataSet'

그리고 터미널에서 pod install 명령어를 실행하여 라이브러리를 설치합니다.

2. 이미지 리소스 추가하기

빈 상태뷰에 표시할 이미지를 준비해야 합니다. 프로젝트의 리소스 폴더에 이미지 파일을 추가합니다. 여기서는 “empty_image.png”라는 파일 이름으로 예를 들겠습니다.

3. DZNEmptyDataSet 데이터소스 설정하기

UITableView 또는 UICollectionView의 데이터소스 객체에서 DZNEmptyDataSet 데이터소스 메소드를 구현하여 빈 상태뷰의 이미지를 설정할 수 있습니다. 아래 코드를 참고하여 구현해보세요.

extension MyViewController: DZNEmptyDataSetSource {
    func image(forEmptyDataSet scrollView: UIScrollView) -> UIImage? {
        return UIImage(named: "empty_image")
    }
}

위 코드에서 MyViewController는 빈 상태뷰를 추가할 컨트롤러를 나타냅니다. image(forEmptyDataSet:) 메소드에서는 빈 상태뷰에 표시될 이미지를 반환해야 합니다. UIImage(named: "empty_image")를 통해 리소스 폴더에서 이미지를 가져옵니다.

4. DZNEmptyDataSet 데이터소스 설정 적용하기

DZNEmptyDataSet 데이터소스 설정을 적용하기 위해 아래 코드를 viewDidLoad() 메소드에 추가해줍니다.

override func viewDidLoad() {
    super.viewDidLoad()
    
    tableView.emptyDataSetSource = self
    tableView.reloadData()
}

위 코드에서 tableView는 빈 상태뷰를 추가할 UITableView 객체를 나타냅니다. emptyDataSetSource 속성에 DZNEmptyDataSet 데이터소스 객체인 self를 설정하고, reloadData() 메소드를 호출하여 빈 상태뷰를 업데이트합니다.

이제 실행해보면 빈 상태뷰에 설정한 이미지가 표시됩니다.

5. 추가적인 설정

DZNEmptyDataSet에는 다양한 설정 옵션들이 제공됩니다. 원하는대로 추가적인 설정을 할 수 있으며, 자세한 내용은 공식 문서를 참고하시기 바랍니다.

이상으로 DZNEmptyDataSet을 사용하여 빈 상태뷰에 이미지를 표시하는 방법에 대해 알아보았습니다. 기대하는 대로 이미지가 표시되는지 확인해보세요!