IOS-Swift開發基礎——使用相機拍照

UIImagePickerController 是系統提供的用來獲取圖片和視頻的接口。code

下面例子來示範使用相機拍照並顯示出咱們的照片。視頻

先設置ViewController繼承UIImagePickerControllerDelegate, UINavigationControllerDelegate。繼承

而後拖入一個ImageView,一個Button到Main.storyboard。分別綁定:接口

@IBOutlet weak var imageView: UIImageView!
@IBAction func useCamera(sender: AnyObject) {}

而後添加下面代碼到useCamera,來使用相機拍照圖片

// 先要判斷相機是否可用
if UIImagePickerController.isSourceTypeAvailable(.Camera) {   
    let picker = UIImagePickerController()
        picker.delegate = self
        picker.sourceType = UIImagePickerControllerSourceType.Camera
        picker.allowsEditing = true  // 容許拍攝圖片後編輯
        self.presentViewController(picker, animated: true, completion: nil)
    } else {
        print("can't find camera")
    }
}

繼承UIImagePickerControllerDelegate,爲咱們實現了拍照後的響應:it

imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?)io

imagePickerControllerDidCancel(picker: UIImagePickerController)im

分別是點擊完成後處理照片,點擊取消。animate

這裏咱們使用後兩個:di

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
    print("didFinishPickingImage") 
    self.imageView.image = image // 保存拍攝(編輯)後的圖片到咱們的imageView展現
    UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil) // 將圖片保存到相冊
    picker.dismissViewControllerAnimated(true, completion: nil) // 退出相機界面
}
 
func imagePickerControllerDidCancel(picker: UIImagePickerController) {
    print("imagePickerControllerDidCancel") 
    picker.dismissViewControllerAnimated(true, completion: nil) // 退出相機界面
}
相關文章
相關標籤/搜索