UIImagePickerController로 사진 라이브러리에서 이미지를 선택하는 샘플

8436 단어 XcodeiOSSwiftswift3
UIImagePickerController를 사용하여 사진 라이브러리에서 이미지를 선택하는 샘플 풀그램을 작성해 보았습니다.
포토 라이브러리에서 이미지를 선택하기 위해 프로젝트의 info.plist에 포토 라이브러리를 사용해야 함을 설명합니다. 이것을 작성하지 않으면 UIImagePickerController를 사용할 수 없습니다.
키 값은 다음 값을 사용합니다. TypeString에서 Value에 사용 이유를 기록합니다.
사용 이유를 쓰지 않으면 심사시에 떨어지는 것 같습니다. 아래 이미지와 같은 느낌입니다.


ViewController.swift

import UIKit

class ViewController: UIViewController,UIImagePickerControllerDelegate,UINavigationControllerDelegate {

    var imagePickUpButton:UIButton = UIButton()
    var picker: UIImagePickerController! = UIImagePickerController()

    override func viewDidLoad() {
        super.viewDidLoad()

        //押されるとUIImagePickerControllerが開くボタンを作成する
        imagePickUpButton.frame = self.view.bounds
        imagePickUpButton.addTarget(self, action: #selector(imagePickUpButtonClicked(sender:)), for: .touchUpInside)
        imagePickUpButton.backgroundColor = UIColor.gray
        imagePickUpButton.setTitle("Toupe Me!!", for: UIControlState.normal)
        self.view.addSubview(imagePickUpButton)
    }

    //basicボタンが押されたら呼ばれます
    func imagePickUpButtonClicked(sender: UIButton){

        //PhotoLibraryから画像を選択
        picker.sourceType = UIImagePickerControllerSourceType.photoLibrary

        //デリゲートを設定する
        picker.delegate = self

        //現れるピッカーNavigationBarの文字色を設定する
        picker.navigationBar.tintColor = UIColor.white

        //現れるピッカーNavigationBarの背景色を設定する
        picker.navigationBar.barTintColor = UIColor.gray

        //ピッカーを表示する
        present(picker, animated: true, completion: nil)
    }

    //UIImagePickerControllerのデリゲートメソッド

    //画像が選択された時に呼ばれる.
    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {

        if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {

            //ボタンの背景に選択した画像を設定
            imagePickUpButton.setBackgroundImage(image, for: UIControlState.normal)
        } else{
            print("Error")
        }

        // モーダルビューを閉じる
        self.dismiss(animated: true, completion: nil)
    }

     //画像選択がキャンセルされた時に呼ばれる.
    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {

        // モーダルビューを閉じる
        self.dismiss(animated: true, completion: nil)
    }
}

실행하면 다음과 같습니다.


좋은 웹페이지 즐겨찾기