Можно ли получить UIImage из UIView, созданного с помощью snapshotViewAfterScreenUpdates?
UIView, возвращенный из snapshotViewAfterScreenUpdates, отлично выглядит при добавлении в качестве подвью, но следующее создает черное изображение:
UIView *snapshotView = [someView snapshotViewAfterScreenUpdates:YES];
UIImage *snapshotImage = [self imageFromView:snapshotView];
- (UIImage *)imageFromView:(UIView *)view
{
UIGraphicsBeginImageContextWithOptions(view.bounds.size, YES, 0.0);
// [view.layer renderInContext:UIGraphicsGetCurrentContext()]; // <- same result...
[view drawViewHierarchyInRect:view.bounds afterScreenUpdates:NO];
UIImage * img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return img;
}
Конечно, можно получить изображение, не полагаясь на snapshotViewAfterScreenUpdates:
UIImage *snapshotImage = [self imageFromView:someView];
К сожалению, при захвате сложного вида drawViewHierarchyInRect не может соответствовать скорости snapshotViewAfterScreenUpdates. Я надеялся, что быстрее получить UIImage из представления, созданного snapshotViewAfterScreenUpdates, возможно ли это?