Ios 拍摄屏幕截图时相机控制器不工作

Ios 拍摄屏幕截图时相机控制器不工作,ios,uiimage,calayer,screen-capture,camera-overlay,Ios,Uiimage,Calayer,Screen Capture,Camera Overlay,我用背景相机控制器拍摄了叠加图像的截图。但拍照时背景cameracontroller层被隐藏 代码: 摄影机预览层不是普通CALayer,在上下文中渲染时不考虑该层。上下文中的渲染仅适用于一种CALayer。最有效的方法是直接从相机缓冲区获取屏幕截图。有没有办法用cameralayer拍摄UIImage。我搜索了很多教程。帮帮我……不幸的是,不,我知道这很容易。一次,它被接受使用一个特殊函数UIGetScreenImage(),但它是一个私有API,如果您正在为AppStore构建,很可能会被拒

我用背景相机控制器拍摄了叠加图像的截图。但拍照时背景cameracontroller层被隐藏

代码:


摄影机预览层不是普通CALayer,在上下文中渲染时不考虑该层。上下文中的渲染仅适用于一种CALayer。最有效的方法是直接从相机缓冲区获取屏幕截图。

有没有办法用cameralayer拍摄UIImage。我搜索了很多教程。帮帮我……不幸的是,不,我知道这很容易。一次,它被接受使用一个特殊函数UIGetScreenImage(),但它是一个私有API,如果您正在为AppStore构建,很可能会被拒绝。我建议你阅读这些答案和苹果的技术说明,你会发现它们非常有用
CGRect rect = [previewView bounds];
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
[previewView.layer renderInContext:context];   
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
 UIImageWriteToSavedPhotosAlbum(img, nil, nil, nil);