Я создаю приложение, которое позволит пользователям выбирать из различных изображений для использования в качестве значков. Я ищу совет относительно лучшего способа справиться с этим. Независимо от того, как я формулирую свои запросы, я получаю только информацию о настройке значков для магазина приложений.
В настоящее время я занимаюсь этим, храня в связке кучу изображений PNG 512 x 512. Когда я открываю вид, который будет отображать список изображений, я перебираю пакет и строю свой 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, но я не мог найти способ перебрать все эти изображения.
Есть ли лучший способ сделать это, на что я должен смотреть?