개발/아이오에스

swift] 이미지 가져오기 , 수정하기

dev.jake 2020. 12. 22. 16:26

//우선 클래스에 UIImagePickerControllerDelegate 델리게이트를 추가해주고

lazy var imagePicker: UIImagePickerController = { 

        let picker: UIImagePickerController = UIImagePickerController()



        picker.sourceType = .photoLibrary // 앨범에서 가져오기

        picker.delegate = self // picker delegate 

        picker.allowsEditing = true //이미지 수정가능하게

        return picker

    }()

//imagePicker을 생성해준다..



@objc func imageTapped(tapGestureRecognizer: UITapGestureRecognizer) //이미지 뷰 클릭시..

    {

        self.present(self.imagePicker, animated: true, completion: nil) //앨범 보여주기

    }



   func imagePickerControllerDidCancel(_ picker: UIImagePickerController) { //앨범 선택 취소 경우 모달을 내려줌

        self.dismiss(animated: true, completion: nil)

    }

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) { //앨범 선택

        

        var newImage: UIImage? = nil

        

        if let possibleImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {

            newImage = possibleImage // 수정된 이미지가 있을 경우

        } else if let possibleImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {

            newImage = possibleImage // 원본 이미지가 있을 경우

        }

        

        self.imageView.image = newImage // 받아온 이미지를 update

        picker.dismiss(animated: true, completion: nil) // picker를 닫아줌

    }