Sam*_*ain 5 uiimagepickercontroller ios swift xcode6
我正在使用a UIImagePicker来向用户展示相机以拍摄将在应用中使用的照片.
我的问题是,当用户第一次打开图像选择器时,他们会看到一个提示:'"我的应用程序"想要使用两个选项访问您的相机,不允许和确定.
我的要求是,当用户单击"不允许"时,图像选择器将被关闭,留下黑色视图.有没有办法检测用户选择了不允许?
这是我的代码UIImagePicker:
var PhotoPicker:UIImagePickerController = UIImagePickerController()
PhotoPicker.delegate = self
PhotoPicker.sourceType = .Camera
PhotoPicker.cameraFlashMode = .Off
PhotoPicker.showsCameraControls = false
PhotoPicker.cameraDevice = .Rear
self.presentViewController(PhotoPicker, animated: false, completion: nil)
Run Code Online (Sandbox Code Playgroud)
要检测对库的访问:
您需要使用AssetsLibrary.一,导入资产库框架:
import AssetsLibrary
Run Code Online (Sandbox Code Playgroud)
然后,请求授权状态,如果未确定,则使用块来捕获这些事件,如下所示:
if ALAssetsLibrary.authorizationStatus() == ALAuthorizationStatus.NotDetermined {
let library = ALAssetsLibrary()
library.enumerateGroupsWithTypes(.All, usingBlock: { (group, stop) -> Void in
// User clicked ok
}, failureBlock: { (error) -> Void in
// User clicked don't allow
imagePickerController.dismissViewControllerAnimated(true, completion: nil)
})
}
Run Code Online (Sandbox Code Playgroud)
要检测对相机的访问:
你需要使用AVFoundation.一,导入avfoundation框架:
import AVFoundation
Run Code Online (Sandbox Code Playgroud)
然后,如前所述,当您转到imagepicker并捕获事件时请求用户权限.
if AVCaptureDevice.authorizationStatusForMediaType(AVMediaTypeVideo) == AVAuthorizationStatus.NotDetermined {
AVCaptureDevice.requestAccessForMediaType(AVMediaTypeVideo, completionHandler: { (videoGranted: Bool) -> Void in
// User clicked ok
if (videoGranted) {
// User clicked don't allow
} else {
imagePickerController.dismissViewControllerAnimated(true, completion: nil)
}
})
}
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你!
| 归档时间: |
|
| 查看次数: |
3298 次 |
| 最近记录: |