我正在构建一个应用程序,我需要在其中截取其子视图是相机会话(AVFoundation 会话)的视图。我试过这段代码:
CGRect rect = [self.containerView bounds];
UIGraphicsBeginImageContextWithOptions(rect.size,YES,0.0f);
CGContextRef context = UIGraphicsGetCurrentContext();
[self.containerView.layer renderInContext:context];
UIImage *capturedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
这有效地为我提供了一个带有视图的 UIImage,只是相机会话是黑色的:
我已经尝试过私有方法UIGetScreenImage()
并且效果很好,但是由于Apple不允许这样做,所以我不能使用它。我也尝试过Apple 文档中的那个,但它是一样的。我已经使用层将问题跟踪到 AVFoundation 会话。我怎样才能做到这一点?该应用程序有一个容器视图,其中有两个视图是停止的相机会话。