从UICollectionView可见区域创建UIImage

时间:2014-05-08 20:19:46

标签: ios uicollectionview uigraphicscontext

我有一个水平滚动的集合视图。我需要从集合视图的当前可见部分创建一个UIImageView。

我通常使用以下方法:

+ (UIImageView *) imageCopyOfView:(UIView *)inputView
{
    UIGraphicsBeginImageContext(inputView.bounds.size);
    [inputView.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    UIImageView *retView = [[UIImageView alloc] initWithImage:viewImage];
    return retView;
}

但它在滚动之后无法与集合视图一起使用,因为它似乎正在从屏幕上滚动一部分视图

1 个答案:

答案 0 :(得分:1)

而不是

[inputView.layer renderInContext:UIGraphicsGetCurrentContext()];

你应该使用

[inputView drawViewHierarchyInRect:inputView.frame afterScreenUpdates:YES];