Swift 相機使用 📷
隨著智慧型手機的普及,拍照已經成為我們日常生活中不可或缺的一部分。在 Swift 中,我們可以使用 UIImagePickerController 來讓使用者輕鬆地使用相機拍照或是從相簿中選取照片。
首先,我們需要在 info.plist 中加入 Privacy – Camera Usage Description,以便讓使用者知道我們為什麼需要使用相機:
<key>NSCameraUsageDescription</key>
<string>我們需要使用您的相機來拍照</string>
接著,我們可以使用以下程式碼來建立一個 UIImagePickerController:
let imagePickerController = UIImagePickerController()
imagePickerController.sourceType = .camera
imagePickerController.delegate = self
present(imagePickerController, animated: true, completion: nil)
在上面的程式碼中,我們將 sourceType 設定為 .camera,這樣就可以讓使用者使用相機拍照。
接著,我們需要實作 UIImagePickerControllerDelegate 中的 didFinishPickingMediaWithInfo 方法,以便在使用者拍照完成後取得照片:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
if let image = info[.originalImage] as? UIImage {
// 取得照片
}
dismiss(animated: true, completion: nil)
}
在上面的程式碼中,我們可以從 info 中取得照片,並將它儲存起來。
最後,我們還需要實作 UIImagePickerControllerDelegate 中的 didCancel 方法,以便在使用者取消拍照時可以做出對應的動作:
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: true, completion: nil)
}
在上面的程式碼中,我們可以在使用者取消拍照時做出對應的動作,例如關閉 UIImagePickerController。
總結來說,使用 Swift 來使用相機是非常簡單的,只要加入對應的 Privacy 設定,並且實作 UIImagePickerControllerDelegate 中的方法,就可以讓使用者輕鬆地使用相機拍照或是從相簿中選取照片。
推薦閱讀文章
Swift Camera Tutorial: Getting Started
AVFoundation Tutorial: Getting Started
How to read and write image files using UIImage
How to use UIImagePickerController for a camera and photo library
How to scan a QR code</a