我是iOS开发新手,无法弄清楚如何从本地目录加载imageView中的图像。 我使用imagePickerController来选取图像,获取其信息,然后使用这些信息在imageView中显示图像。Swift 3从本地directory下载图片
下面是代码挑图像和信息词典:
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let image = info[UIImagePickerControllerOriginalImage] as! UIImage
let imageUrl = info[UIImagePickerControllerReferenceURL] as! NSURL
let imageName = imageUrl.lastPathComponent
let documentDirectory = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true).first!
let photoURL = NSURL(fileURLWithPath: documentDirectory)
let localPath = photoURL.appendingPathComponent(imageName!)!
imagesList.append(localPath)
picker.dismiss(animated: true, completion: nil)
}
那时,这里就是我在寻找一些帮助,我希望为使用了localPath或IMAGEURL加载图像在另一个图像查看,但无法弄清楚如何。 我试过
func changeImage(_ sender: Any) {
if imagesList.count > 0 {
let imageUrlPath = imagesList[indexList]
let urlString: String = imageUrlPath.absoluteString
imageView.image = UIImage(contentsOfFile: urlString)
indexList = (indexList + 1) % imagesList.count
}
}
但我不能有什么工作。 任何想法如何我可以实现这一点?
谢谢你的帮助。
您需要使用'imageUrlPath.path'而不是'imageUrlPath.absoluteString' –
感谢您的帮助。我没有任何错误,但图像不显示在imageView中。如果我打印urlString,它只包含“/asset.JPG”,我认为这不够。 什么contentsOfFile应该包含:整个路径(file:/// Users/me/Library/Developer/CoreSimulator/Devices/BF7D44E4-26DD-43EE-5543-D7AB7654F8DC/data/Containers/Data/Application/C9561694- 34E9-46AD-83AA-38F067557F86 /文档/ asset.JPG)?或者像“assets-library://asset/asset.JPG?id = 9A443DCB-EC44-42B8-8773-B597CF782EDD&ext = JPG” – radar
打印路径并检查图像是否存在 –