我有一个水平滚动的收藏夹视图。我需要从集合视图的当前可见部分创建一个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;
}

但它在滚动后无法与“收藏夹视图”一起使用,因为它似乎获得了已从屏幕上滚动出的视图的一部分

最佳答案

代替

[inputView.layer renderInContext:UIGraphicsGetCurrentContext()];

你应该使用
[inputView drawViewHierarchyInRect:inputView.frame afterScreenUpdates:YES];

关于ios - 从UICollectionView可见区域创建UIImage,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23551734/

10-11 11:30