#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. Спасибо за ваш ответ. Это сработало нормально. Но все еще одна проблема, мне нужен цвет фона представления. Снимок сделан на белом фоне