我在App的文档目录中有一堆图像。我想在我看来的UIImage中加载其中一个。这就是我所做的:
myImage.image = UIImage(named: "image.jpg") // the file exist but this returns nil
我还尝试使用以下方式初始化图像:
myImage.image = UIImage(contentsOfFile: imagePath) //this also doesn't work but the path i got starts (at least in the sim) with file://
任何人都可以提出建议吗?我有点像iOS编程中的菜鸟。
由于
编辑: imagePath来自:
func getImgPath(name: String) -> String
{
let documentsDirectory = self.getDocumentsDirectory()
let fullpath = documentsDirectory.appendingPathComponent(name)
return fullpath.absoluteString
}
答案 0 :(得分:4)
这可能会有所帮助
let documentDirectory = FileManager.SearchPathDirectory.documentDirectory
let userDomainMask = FileManager.SearchPathDomainMask.userDomainMask
let paths = NSSearchPathForDirectoriesInDomains(documentDirectory, userDomainMask, true)
if let dirPath = paths.first
{
let imageURL = URL(fileURLWithPath: dirPath).appendingPathComponent("name.png")
let image = UIImage(contentsOfFile: imageURL.path)
// Do whatever you want with the image
}
答案 1 :(得分:2)
尝试在Assets.xcassets
下添加图片。然后,您就可以通过以下方式引用您的图片:
UIImage(named: 'yourImageName')
您可以方便地添加各种尺寸设置的图像。
答案 2 :(得分:0)
您可以将图像的路径视为fowllows:
Panel
如果这不起作用,请检查您的文件名是否正确。
答案 3 :(得分:0)
我了解如果您从互联网上下载图片,则需要将URL
转换为UIImage
if let url = URL(string: "your url") {
let data = try? Data(contentsOf: url)
if let imageData = data {
if let image = UIImage(data: imageData) {
imageView.image = image
}
}
}
如果我理解你的问题是正确的,那就是答案。