【iosアプリ開発メモ】カメラを起動させる

More than 1 year has passed since last update.


すること

ボタンを押すとカメラが起動する


環境


  • macOS High Sierra バージョン 10.13.4

  • Xcode version 9.3

  • swift4


やってみる


1.ボタンを設置する

Main.storybordのViewの中にbuttonを設置する


2.ボタンとコードを関連付ける


  1. Main.storybordに設置したbuttonを選択。

  2. Controlキーを押しながらドラッグして、
    ViewController.swiftのViewControllerクラスの中で離す。

  3. ConnectionはドロップダウンからActionを選択。

    Nameに任意の名前を入力。今回は「camera」にする。

    TypeはドロップダウンからUIButtonを選択。


  4. @IBAction func camera(_ sender: UIButton)のような関数が作成されたらOK。


3.コードを書いていく

さっき作られた関数の中にコードを書いていく。


ViewController.swift

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

//↓追記した部分
//対応したボタンが押された時の動作を記述
@IBAction func camera(_ sender: UIButton) {
//インスタンス作成
let pickerController = UIImagePickerController()

//ソースタイプを指定(cameraの場合はplistでカメラ使用を許可すること)
pickerController.sourceType = .camera

//カメラを表示
present(pickerController, animated: true, completion: nil)

}

}


コードを書いたらplistでカメラの使用を許可しておく。


ポイント


UIImagePickerController

UIKitに入ってるクラス。


ユーザーのメディアライブラリから画像を撮影し、ムービーを記録し、アイテムを選択するためのシステムインタフェースを管理するビューコントローラ。(公式より翻訳)



UIImagePickerControllerSourceType

UIImagePickerControllerインスタンスのプロパティ


Pickerインターフェイスを実行する前に、この値を目的のソースタイプに設定します。設定するソースタイプは使用可能でなければならず、そうでない場合は例外がスローされます。ピッカーが表示されているときにこのプロパティを変更すると、このプロパティの新しい値と一致するようにピッカーインターフェイスが変更されます。(公式より翻訳)



present

UIViewControllerクラスのインスタンスメソッド。

第一引数に指定したViewControllerを表示してくれる。


終わり

以上、とりあえず起動だけ。