【问题标题】:Set image array to image view将图像数组设置为图像视图
【发布时间】:2017-04-30 02:13:37
【问题描述】:

当您的 Assets.xcassets 文件夹中已有一组图像时,如下所示:

imageArray = ["background-1 (dragged).tiff", "background-2 (dragged).tiff", "background-3 (dragged).tiff", "background-4 (dragged).tiff", "background-5 (dragged).tiff",  "background-6 (dragged).tiff", "background-7 (dragged).tiff"]

如果你想在图像视图中显示图像,你可以这样做。

var imageView: UIImageView!
imageView.image = UIImage(named: "\(imageArray.object(at: index))")
return imageView

但是,我正在创建一个应用程序,用户必须在其中放入自己的图像,并且我将图像存储在 firebase 中。所以我有这个数组

imageArray = [self.ImageOne, self.ImageTwo, self.ImageThree, self.ImageFour, self.ImageFive]

但是,我不能用

imageView.image = UIImage(named: "\(imageArray.object(at: index))")

因为图像没有存储在我的 Assets.xcassets 文件夹中。如何将 imageView.image 设置为我拥有的数组?

我试过了:

 imageView.image = UIImage(imageArray = [self.ImageOne, self.ImageTwo, self.ImageThree, self.ImageFour, self.ImageFive])
        return imageView

但它没有用。谁能指点我正确的道路。

【问题讨论】:

    标签: swift xcode firebase firebase-realtime-database


    【解决方案1】:

    假设图像数量很少,将它们存储在应用程序的Documents 目录中是可行的方法。然后,您可以将路径存储在 UserDefaults 键中,以便稍后检索。这两者都是持久的。

    使用此方法,您需要将图像转换为NSData,然后将其写入Documents 目录中的文件。然后在加载它时,您将不得不使用具有 NSData 对象作为参数的 UIImage 初始化程序。

    如果用户能够上传可变数量的图像,那么这种方法是不明智的,CoreData 是一个更好的选择。

    【讨论】:

    • 我不认为将图像存储在应用程序的文档目录中是可行的方法,因为该应用程序理想情况下会生成成千上万张图片。有没有其他方法可以设置我的 imageview 以在我的 imageArray 中显示图像数组? @rikola
    猜你喜欢
    • 2011-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 2017-02-10
    • 2018-06-04
    • 1970-01-01
    • 2018-03-15
    相关资源
    最近更新 更多