[swift] 팝업창에서 사진 앨범을 열어 이미지 선택하는 방법 - Swift PopupDialog

이번 포스트에서는 Swift로 팝업창을 만들고, 해당 팝업창에서 사진 앨범을 열어 이미지를 선택하는 방법에 대해 알아보겠습니다. 이를 위해 Swift PopupDialog 라이브러리를 사용하여 팝업창을 구현할 것입니다.

1. 팝업창 라이브러리 설치

먼저, 해당 기능을 구현하기 위해 Swift PopupDialog 라이브러리를 설치해야 합니다. 이를 위해 프로젝트의 Podfile에 다음과 같이 추가합니다.

pod 'PopupDialog'

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

pod install

2. 팝업창 만들기

라이브러리가 설치되었다면, 이제 팝업창을 만들어보겠습니다.

import PopupDialog

func showPhotoPopup() {
    let photoPopup = PopupDialog(title: "사진 선택", message: "이미지를 선택해주세요.")

    let photoPicker = UIImagePickerController()
    photoPicker.delegate = self
    photoPicker.sourceType = .photoLibrary

    let cancelButton = CancelButton(title: "취소") {}
    let selectButton = DefaultButton(title: "선택") {
        // 선택된 이미지 처리를 수행합니다.
        if let selectedImage = photoPicker.image {
            // 선택된 이미지를 사용해서 원하는 동작을 수행합니다.
        }
    }

    photoPopup.addButtons([cancelButton, selectButton])
    photoPopup.present()
}

위 코드에서는 PopupDialog를 사용하여 팝업창을 생성하고, UIImagePickerController를 사용하여 사진 앨범을 열어 이미지를 선택할 수 있도록 설정하였습니다. CancelButtonDefaultButton은 팝업창에 추가할 버튼을 나타내며, 각각 취소와 선택 기능을 수행하도록 구현되어 있습니다.

3. 이미지 선택 처리하기

이제 이미지 선택 이벤트를 처리해야 합니다. 이를 위해 UIImagePickerControllerDelegate 프로토콜을 구현해야 합니다.

extension ViewController: UIImagePickerControllerDelegate & UINavigationControllerDelegate {
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey: Any]) {
        if let pickedImage = info[.originalImage] as? UIImage {
            // 선택된 이미지를 사용해서 원하는 동작을 수행합니다.
        }

        picker.dismiss(animated: true, completion: nil)
    }

    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        picker.dismiss(animated: true, completion: nil)
    }
}

위 코드에서는 imagePickerController(_:didFinishPickingMediaWithInfo:) 메서드에서 선택된 이미지를 사용하여 원하는 동작을 수행합니다. 이미지 선택을 취소한 경우에는 imagePickerControllerDidCancel(_:) 메서드가 호출되어 팝업창이 닫힐 수 있도록 구현되어 있습니다.

4. 실행해보기

이제 위에서 작성한 코드를 실행해보면 팝업창이 나타나고, 사진 앨범을 열어 이미지를 선택할 수 있는 기능을 사용할 수 있습니다.

이와 같이 Swift PopupDialog 라이브러리를 사용하여 팝업창에서 사진 앨범을 열고 이미지를 선택하는 방법을 살펴봤습니다. 현재 설명한 내용은 예시로서 간단한 동작을 구현한 것이므로, 필요에 따라 추가적인 로직을 구현할 수 있습니다.

참고 자료