[swift] DZNEmptyDataSet을 사용하여 빈 상태뷰의 이미지 색상 변경하기

개요

DZNEmptyDataSet은 빈 상태인 경우 적절한 뷰를 표시해주는 라이브러리입니다. 기본적으로 빈 상태뷰에는 이미지와 텍스트가 포함되어 있습니다. 이번에는 DZNEmptyDataSet을 사용하여 빈 상태뷰의 이미지 색상을 변경하는 방법에 대해 알아보겠습니다.

구현

먼저, DZNEmptyDataSet을 사용하기 위해서는 UITableViewDelegate와 DZNEmptyDataSetSource 프로토콜을 준수하는 클래스를 사용해야 합니다. 그리고 해당 클래스에서 DZNEmptyDataSetSource 프로토콜의 메서드인 imageTintColor(forEmptyDataSet scrollView: UIScrollView)를 구현하여 이미지 색상을 변경할 수 있습니다.

import DZNEmptyDataSet

class MyViewController: UIViewController, UITableViewDelegate, DZNEmptyDataSetSource {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // DZNEmptyDataSet 사용을 위해 delegate 설정
        tableView.emptyDataSetSource = self
    }
    
    // DZNEmptyDataSetSource 프로토콜의 메서드 구현
    func imageTintColor(forEmptyDataSet scrollView: UIScrollView) -> UIColor? {
        return UIColor.red // 원하는 이미지 색상으로 변경
    }
    
    // 테이블뷰 데이터소스 및 델리게이트 메서드 구현
    // ...
}

위의 코드에서 MyViewControllerDZNEmptyDataSetSource 프로토콜을 준수하는 클래스로, imageTintColor(forEmptyDataSet scrollView: UIScrollView) 메서드를 구현하고 있습니다. 이 메서드에서는 원하는 이미지 색상을 반환하면 됩니다. 위의 예제에서는 UIColor.red를 반환하여 이미지 색상을 빨간색으로 변경하였습니다.

결론

이번에는 DZNEmptyDataSet을 사용하여 빈 상태뷰의 이미지 색상을 변경하는 방법에 대해 알아보았습니다. imageTintColor(forEmptyDataSet scrollView: UIScrollView) 메서드를 구현하여 원하는 이미지 색상을 반환하면 빈 상태뷰의 이미지 색상을 손쉽게 변경할 수 있습니다.

참고 자료