[swift] 팝업창에서 이미지 필터링 기능 추가하기 - Swift PopupDialog

이번 블로그에서는 Swift로 팝업창에서 이미지 필터링 기능을 추가하는 방법에 대해 알아보겠습니다. 이를 위해 Swift에서 인기있는 팝업창 라이브러리인 PopupDialog를 사용할 것입니다.

PopupDialog 라이브러리 설치하기

먼저, CocoaPods를 사용하여 PopupDialog 라이브러리를 설치해야 합니다. Podfile에 다음 코드를 추가해주세요.

pod 'PopupDialog'

그리고 터미널을 열어 프로젝트 폴더로 이동한 뒤, 다음 명령어를 실행하여 라이브러리를 설치합니다.

pod install

팝업창 생성하기

이제 팝업창을 생성해보겠습니다. 먼저, 필터링할 이미지를 로드하는 함수를 작성합니다.

func loadImage() -> UIImage? {
    // 이미지 로드 로직 구현
    return UIImage(named: "example_image")
}

다음으로, 필터링 기능을 추가할 버튼의 동작 함수를 만들어보겠습니다.

@objc func filterButtonTapped() {
    let image = loadImage()
    
    if let image = image {
        // 이미지 필터링 로직 구현
        let filteredImage = applyFilter(to: image)
        
        // 필터링된 이미지를 팝업창에 표시하는 함수 호출
        showFilteredImageView(image: filteredImage)
    } else {
        print("이미지 로드 실패")
    }
}

필터링된 이미지를 팝업창에 표시하기

이제 showFilteredImageView 함수를 구현하여 필터링된 이미지를 팝업창에 표시해보겠습니다.

func showFilteredImageView(image: UIImage) {
    let imageView = UIImageView(image: image)
    imageView.contentMode = .scaleAspectFit
    
    // 팝업창 생성
    let popup = PopupDialog(viewController: UIViewController())
    
    let dialogAppearance = PopupDialogDefaultView.appearance()
    dialogAppearance.backgroundColor = .clear
    
    // 팝업창에 이미지 뷰 추가
    popup.view.addSubview(imageView)
    
    // 팝업창 표시
    self.present(popup, animated: true, completion: nil)
}

결과

이제 팝업창에서 필터링된 이미지를 확인할 수 있습니다. 이 코드를 실행하면 버튼을 누를 때마다 팝업창이 열리면서 필터링된 이미지가 표시됩니다.

let filterButton = UIButton()
filterButton.setTitle("필터링", for: .normal)
filterButton.addTarget(self, action: #selector(filterButtonTapped), for: .touchUpInside)
view.addSubview(filterButton)

PopupDialog

결론

이번 블로그에서는 Swift로 팝업창에서 이미지 필터링 기능을 추가하는 방법에 대해 알아보았습니다. PopupDialog 라이브러리를 사용하여 간단한 팝업창을 생성하고, 이미지 필터링 기능을 구현하는 방법을 다루었습니다. 이를 응용하여 다양한 팝업창 기능을 추가해보세요.

참고 문서: https://github.com/Orderella/PopupDialog