将UICollectionView的内容转换为图像

时间:2019-05-02 11:31:39

标签: ios swift uicollectionview

我需要将UICollectionView的内容转换为UIIImage。但是,该图像仅包含UICollectionView的可见部分,而忽略了尚未渲染的部分。我有什么可以实现的吗?

我正在使用以下扩展名

func toImage() -> UIImage {
    let renderer = UIGraphicsImageRenderer(size: self.bounds.size)
    return renderer.image { ctx in
        self.drawHierarchy(in: self.bounds, afterScreenUpdates: true)
    }
}

2 个答案:

答案 0 :(得分:1)

  

有什么我可以实现的吗?

否,至少不是通过简单的屏幕截图。屏幕外的单元格甚至不存在,因此您无需捕获任何内容。

答案 1 :(得分:0)

完整的“收藏夹视图”没有呈现为图像有两个原因。

  1. 您在self.bounds中调用drawHierarchy,它将仅捕获指定范围内的内容
  2. 集合视图的其余部分将不会呈现,因为其余单元格将不在屏幕上。