비전공자 개발일기

UIImagePickerControllerDelegate, UINavigationControllerDelegate 본문

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

'SWIFT' 카테고리의 다른 글

WKWebView Reload Code  (0) 2023.03.04
Swift Image Upload to Server(PHP)  (0) 2023.03.03
WKWebView Phone Call  (0) 2023.03.01
WKWebView Component 1(Alert Event, go Back, go Forward)  (0) 2023.02.27
Device ID(UUID)  (0) 2023.02.26