SWIFT

UIImagePickerControllerDelegate, UINavigationControllerDelegate

HiroDaegu 2023. 3. 2. 21:14
728x90
SMALL

import UIKit

class ViewController: UIViewController {
    
    @IBOutlet weak var imageView: UIImageView!
    let imagePicker = UIImagePickerController()
    var selectedImage = UIImage()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        imagePicker.delegate = self
        imageView.backgroundColor = .brown
    }
    
    @IBAction func cameraBTN(_ sender: UIButton) {
        imagePicker.sourceType = .camera
        present(imagePicker, animated: true)
    }
    
    @IBAction func photoBTN(_ sender: UIButton) {
        imagePicker.sourceType = .photoLibrary
        present(imagePicker, animated: true)
    }
    
    @IBAction func clearBTN(_ sender: UIButton) {
        selectedImage = UIImage()
        imageView.image = UIImage()
    }
           
}

extension ViewController: UIImagePickerControllerDelegate, UINavigationControllerDelegate, URLSessionDelegate {
    
    // ImagePicker가 활성화됬을 때의 Method
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        guard let img = info[UIImagePickerController.InfoKey.originalImage] as? UIImage else { return }
        selectedImage = img
        imageView.image = img
        imageView.backgroundColor = .clear
        dismiss(animated: true)
    }
    
    // ImagePicker 실행 후 취소 버튼을 눌렀을 때의 Method
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        dismiss(animated: true)
    }
    
}
728x90
LIST