使用资产路径或本地文件路径显示图像

时间:2015-04-07 15:00:00

标签: ios image swift

我尝试使用swift显示来自相机胶卷的图像表。我有资产路径:

assets-library://asset/asset.JPG?id=123456789&ext=JPG

和本地文件路径:

/Users/johndoe/Library/Developer/CoreSimulator/Devices/1932149090125/data/Containers/Data/Application/11451-54365436-34563-2345-232342364/Documents/asset.JPG

我不知道用什么函数来创建UIImage。

我已经尝试了UIImage(data: NSdata)UIImage(contentsOfFile: String)没有成功。

代码: 在我的UITableView,cellForRowAtIndexPath函数中,我循环遍历具有单元格资产路径和本地文件路径的数据库。

let url = NSURL(string: "/Users/johndoe/Library/Developer/CoreSimulator/Devices/123455678/data/Containers/Data/Application/124536432342364/Documents/asset.JPG")
    let data = NSData(contentsOfURL: url!)
    cell.thumbnailImage.image = UIImage(data: data!)

2 个答案:

答案 0 :(得分:0)

  

我正在尝试使用swift

显示相机胶卷中的图像表

嗯,这是一项精心制作的业务。你必须使用PhotoKit。获取照片作为PHAsset,并调用PHImageManager.defaultManager().requestImageForAsset以获取实际图像。图像以异步方式到达,并且随着图像质量的提高可以多次到达,因此您必须为此做好准备。

答案 1 :(得分:0)

有一个函数,在imagePickerController中选择图片时调用,见下文。确保您的ViewController使用UIImagePickerControllerDelegate协议。

然后在我的.m文件中,我有属于该协议的函数:

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {//在每张图片后拍照,拍照或挑选

UIImage *img = [info objectForKey:@"UIImagePickerControllerOriginalImage"];
等等等 }