先來看看UIImagePickerController可以為我們帶來什麼吧。
不過UIImagePickerController 不是唯一的方式,ALAssetsLibrary 與 AVFoundation 也可以做到同樣的效果。
首先要在info.plist文件配置權限需求
點擊info.plist
該段程式碼定義了相機的屬性,並且開啟了相簿。
func openCamara(_ sender: UIButton) {
// CameraPermissionRequestAlertFuntion()
imagePicker.sourceType = .camera
imagePicker.cameraDevice = .rear
imagePicker.cameraCaptureMode = .photo
imagePicker.cameraFlashMode = .off
imagePicker.imageExportPreset = .compatible
show(imagePicker, sender: self)
print("Open Camera")
}
儲存照片
extension ViewController: UIImagePickerControllerDelegate,UINavigationControllerDelegate{
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
print("Use photo")
let image = info[.originalImage] as! UIImage//取得拍下的照片
myImageView.image = image
print("取得照片")
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)//將相片存擋
print("照片存擋")
dismiss(animated: true, completion: nil)
}
}
延伸:
官方有建議的權限判斷語法,可以防止例外狀況的發生
延伸 keyword:ALAssetsLibrary,AVFoundation
參考文件:https://www.jianshu.com/p/13ce87f2ffb0
UIImageView
首先要取得螢幕尺寸。宣告一個常數,裝進螢幕的 size。有了螢幕的尺寸,就可以對應並抓取適合顯示的尺寸,下面兩個funtion 就是延伸的運用:
imageSizeSet : 對應螢幕大小設定圖片
imageCenterSet: 設定圖片中心點