目前我正在使用此代码:
@IBAction func selectPicture(sender: UIButton) {
if UIImagePickerController.isSourceTypeAvailable(UIImagePickerControllerSourceType.PhotoLibrary){
var imag = UIImagePickerController()
imag.delegate = self
imag.sourceType = .Camera;
imag.mediaTypes = [kUTTypeImage as String]
imag.allowsEditing = false
imag.modalPresentationStyle = .Popover
self.presentViewController(imag, animated: true, completion: nil)
}
}
但是当我在iPad
iPhone
设备上运行它时,它仅向我询问相机许可,而我无法从任何专辑/相机胶卷中选择照片。
我该怎么做才能从设备上访问照片?
答案 0 :(得分:1)
您设置了错误的sourceType
:
imag.sourceType = .Camera;
将其更改为:
imag.sourceType = .SavedPhotosAlbum;
或
imag.sourceType = .PhotoLibrary
常量在UIImagePickerControllerSourceType Enumeration中定义,定义如下:
UIImagePickerControllerSourceType
选择图像或确定可用时使用的来源 媒体类型。声明
<强>夫特强>
enum UIImagePickerControllerSourceType : Int { case PhotoLibrary case Camera case SavedPhotosAlbum }
<强>常量强>
PhotoLibrary
指定设备的照片库作为图像选择器控制器的源。
Camera
指定设备的内置摄像头作为图像选择器控制器的源。指出您想要的特定相机(正面或 通过使用cameraDevice属性,后面,可用)。
SavedPhotosAlbum
指定设备的相机胶卷相册作为图像选择器控制器的来源。如果设备没有摄像头, 指定已保存的照片相册作为来源。
<强>讨论强>
给定的源可能在给定设备上不可用,因为 来源不是实际存在的,或者因为它目前无法存在 访问。