【发布时间】:2011-08-23 01:12:32
【问题描述】:
我有一个视图控制器,它需要能够从相册和相机中选择图片。对于 didFinishPickingMediaWithInfo 我只能有 1 个委托方法,虽然我可以判断它是否是图像,但我似乎无法判断它是来自相册还是来自相机(我需要先将其保存在相册中)。信息中有什么可以帮助我区分这两者的吗?
谢谢...
【问题讨论】:
我有一个视图控制器,它需要能够从相册和相机中选择图片。对于 didFinishPickingMediaWithInfo 我只能有 1 个委托方法,虽然我可以判断它是否是图像,但我似乎无法判断它是来自相册还是来自相机(我需要先将其保存在相册中)。信息中有什么可以帮助我区分这两者的吗?
谢谢...
【问题讨论】:
因为UIImagePickerController是传递给方法的,所以你要做的就是:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
if ([picker sourceType] == UIImagePickerControllerSourceTypeCamera) {
// Do something with an image from the camera
} else {
// Do something with an image from another source
}
}
【讨论】:
在 Swift3 中:
func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) {
if picker.sourceType == .camera {
// Do something with an image from the camera
}
else {
// Do something with an image from another source
}
}
【讨论】:
picker.sourceType == .camera,因为 .Camera 已被 .camera 取代。其他值为.photoLibrary 和.savedPhotosAlbum。 HTH