Ios 如何拍摄当前屏幕/UI视图(包括图层)的屏幕截图

Ios 如何拍摄当前屏幕/UI视图(包括图层)的屏幕截图,ios,objective-c,uiview,calayer,avplayerlayer,Ios,Objective C,Uiview,Calayer,Avplayerlayer,在我的iOS应用程序中,我在myview.layer中添加了AVPlayerLayer作为子层。根据我的要求,我必须拍摄这个特定视图的截图。如果我拍摄这个特定视图的屏幕截图,屏幕截图中不包括图层部分。而且我在Xcode预览选项中的myview中也看不到这个层。任何人请给出你的建议来完成这个问题 Ps:我已经尝试了这方面的所有方法 但所有这些方法都排除了这个CALayer 编辑内容: 我需要我的UIView的屏幕截图和包含的层(AVPlayerLayer)。有很多选项可以拍摄UIView的屏幕截图

在我的iOS应用程序中,我在myview.layer中添加了AVPlayerLayer作为子层。根据我的要求,我必须拍摄这个特定视图的截图。如果我拍摄这个特定视图的屏幕截图,屏幕截图中不包括图层部分。而且我在Xcode预览选项中的myview中也看不到这个层。任何人请给出你的建议来完成这个问题

Ps:我已经尝试了这方面的所有方法

但所有这些方法都排除了这个CALayer

编辑内容:

我需要我的UIView的屏幕截图和包含的层(AVPlayerLayer)。有很多选项可以拍摄UIView的屏幕截图。但这些选项都对我没有帮助。所以我发布了这个问题来解决我的问题。

从应该可以很好地工作(为了方便起见,复制到下面)


可能重复的是,您是否找到了解决此问题的方法@santhoshNo,它不起作用。它获取视图的屏幕截图,而不在视图上方的图层上。
#import "QuartzCore/QuartzCore.h" after you added the framework to your project. Then do:

UIGraphicsBeginImageContext(yourView.frame.size);
[[yourView layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *screenshot = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

// The result is *screenshot