Ios 将UIImageView图层导出到UIImage

Ios 将UIImageView图层导出到UIImage,ios,swift,uiimageview,uiimage,Ios,Swift,Uiimageview,Uiimage,我有一个UIImageView,上面有一个图层,我想用这些图层保存UIImageView.image 例如: imageView.layer.mask = someLayer let image = imageView.image let activity = UIActivityViewController(activityItems: [image], applicationActivities: nil) present(activity, animated: true

我有一个UIImageView,上面有一个图层,我想用这些图层保存UIImageView.image

例如:

imageView.layer.mask = someLayer

let image = imageView.image

let activity = UIActivityViewController(activityItems: [image], applicationActivities: nil)
        present(activity, animated: true, completion: nil)
但这仅保存图像,而不保存imageView中的图层。我该怎么办


拍摄imageView的屏幕截图可能很好,但这样做时我会失去图像质量,我希望保持原始分辨率。

这将为您提供原始分辨率:

- (UIImage *)imageFromImageView:(UIImageView *)view{
    UIGraphicsBeginImageContextWithOptions(view.bounds.size, NO, [UIScreen mainScreen].scale);
    [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    return image;
}

我试过这个。分辨率还可以,但如果放大并与原始分辨率进行比较,分辨率会更低。是否无法转移imageView遮罩?