Ios 裁剪视图快照

Ios 裁剪视图快照,ios,uiview,Ios,Uiview,我正在实现一个自定义UINavigationViewController转换,作为动画的一部分,我希望快照和转换目标UIViewController。但是,我希望对快照进行切片,并独立地变换各个部分 UIView.h中有一条评论似乎表明这是可能的,甚至是建议的: 支持从现有快照创建快照(作为复制、裁剪或创建可调整大小的变体的方法)。在需要多个快照的情况下,从通用superview创建快照并从中生成后续快照的性能会更高 但是,我不知道如何从通用superview快照实际执行裁剪或创建多个快照 这可

我正在实现一个自定义UINavigationViewController转换,作为动画的一部分,我希望快照和转换目标UIViewController。但是,我希望对快照进行切片,并独立地变换各个部分

UIView.h中有一条评论似乎表明这是可能的,甚至是建议的:

支持从现有快照创建快照(作为复制、裁剪或创建可调整大小的变体的方法)。在需要多个快照的情况下,从通用superview创建快照并从中生成后续快照的性能会更高

但是,我不知道如何从通用superview快照实际执行裁剪或创建多个快照

这可能吗


注意:我确实使用
UIView.drawHierarchy(in:AfterScreenuUpdate:)
创建了一个可以在以后裁剪的图像,但是在UINavigationController转换过程中失败,出现以下错误:

带有AfterScreenUpdate的[快照]视图(0x140853600,MTKView)图形:不支持CoreAnimation提交中的“是”

多亏了,我找到了解决方案:

将所需的裁剪矩形和
UIEdgeInsets.zero传递给cap INSERTS将正确创建裁剪的快照