我有一个水平滚动的集合视图。我需要从集合视图的当前可见部分创建一个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;
}
但它在滚动之后无法与集合视图一起使用,因为它似乎正在从屏幕上滚动一部分视图
答案 0 :(得分:1)
而不是
[inputView.layer renderInContext:UIGraphicsGetCurrentContext()];
你应该使用
[inputView drawViewHierarchyInRect:inputView.frame afterScreenUpdates:YES];