개발아 담하자

[iOS/Swift] UIImagePickerController 를 사용해 이미지 수정 및 가져오기 본문

📱 iOS

[iOS/Swift] UIImagePickerController 를 사용해 이미지 수정 및 가져오기

choidam 2020. 3. 12. 18:55

1. 전역 변수로 imagePicker 생성

let imagePicker = UIImagePickerController()

 

2. picker 를 보여줄 메소드 정의

   @objc func pickImage(){
       self.present(self.imagePicker, animated: true)
   }

 

3. viewDidLoad 에 imagePicker 속성 지정

    self.imagePicker.sourceType = .photoLibrary // 앨범에서 가져옴
    self.imagePicker.allowsEditing = true // 수정 가능 여부
    self.imagePicker.delegate = self // picker delegate

 

4. extension UIImagePickerControllerDelegate, UINavigationControllerDelegate

extension SignUpViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate {
    
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        
        var newImage: UIImage? = nil // update 할 이미지
        
        if let possibleImage = info[UIImagePickerController.InfoKey.editedImage] as? UIImage {
            newImage = possibleImage // 수정된 이미지가 있을 경우
        } else if let possibleImage = info[UIImagePickerController.InfoKey.originalImage] as? UIImage {
            newImage = possibleImage // 원본 이미지가 있을 경우
        }
        
        self.profileImageView.image = newImage // 받아온 이미지를 update
        picker.dismiss(animated: true, completion: nil) // picker를 닫아줌
        
    }
}

 

5. 확인

 

 

Simulator 로 확대 모션을 취하려면 option 키를 눌러야 한다❗️