Снимок UICollectionViewCell

#uicollectionviewcell #snapshot

#uicollectionviewcell #снимок

Вопрос:

[код] Мне нужно сделать снимок ячейки collectionview для предоставленного indexpath, я создал приведенную ниже функцию, и она всегда возвращает image как nil

Пожалуйста, подскажите мне, что я здесь делаю не так,

     func screenshotForCellAtIndexPath(indexPath: IndexPath!, rect: CGRect!) -> UIImage?
{
    let cellRect = rect
    UIGraphicsBeginImageContextWithOptions(cellRect!.size, false, 0.0)
    guard let context = UIGraphicsGetCurrentContext() else { return nil }
    let cell = collectionView.cellForItem(at: indexPath)
    cell?.layer.render(in: context)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return image
}
  

[код]

Комментарии:

1. Вы уверены, что значение ячейки не равно нулю?

Ответ №1:

Создание снимка ячейки представления коллекции для выбранного indexpath. Попробуйте это для создания снимка

     var yourImage: UIImage?
    UIGraphicsBeginImageContextWithOptions(yourView.bounds.size, false, UIScreen.main.scale)
    yourView.drawHierarchy(in: myView.bounds, afterScreenUpdates: true)
    yourImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    return yourImage!
  

Комментарии:

1. Спасибо за ваш ответ. Это сработало нормально. Но все еще одна проблема, мне нужен цвет фона представления. Снимок сделан на белом фоне