将用户可选图标添加到Xcode中的应用

时间:2019-01-21 16:59:11

标签: swift xcode uicollectionview

我正在构建一个应用程序,它将允许用户从各种图像中进行选择以用作图标。我正在寻找有关解决此问题的最佳方法的建议。无论我如何用词组搜索,我都只会获得有关为应用商店设置图标的信息。

我目前正在通过将一堆512 x 512 PNG图片存储在一个捆绑包中来进行处理。当我打开将显示图像列表的视图时,我将遍历分发包并使用图像构建UICollectionView。我正在使用以下代码:

我使用以下方法将所有图像加载到viewDidLoad中的数组中:

    icons = try! fileManager.contentsOfDirectory(at: assetURL, includingPropertiesForKeys: [URLResourceKey.nameKey, URLResourceKey.isDirectoryKey], options: .skipsHiddenFiles)

然后使用以下代码将图像加载到集合视图的单元格中:

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "iconCell", for: indexPath)
    let iconItem = icons[indexPath.row]

    // Configure the cell
    var imageView: UIImageView
    let image = UIImage(named: "Images.bundle/\(iconItem.lastPathComponent)")?.resizeImage(newWidth: CGFloat(32)).withRenderingMode(.alwaysTemplate)

    iconNames.append(iconItem.lastPathComponent)

    imageView = UIImageView(image: image)
    imageView.tintColor = .black
    imageView.contentMode = .scaleToFill

    cell.contentView.addSubview(imageView)

    return cell
}

我想知道是否有更好的方法。它有效,但是我只是在猜测。最初,我尝试将所有图像放入Assets.xcassets中的文件夹中,但无法找到一种方法来遍历所有这些图像。

有没有更好的方法应该这样做?

0 个答案:

没有答案