ios - iOS6 中使用 QLPreviewController 渲染上下文的问题

标签 ios

我已经搜索了互联网来回答这个问题,但还没有找到答案。

我正在编写一个使用 QLPrieviewController 显示文档的应用程序。我想把屏幕复制到外部显示器上。我让它适用于 ios5,代码如下。此代码不再适用于 ios6。

    UIGraphicsBeginImageContextWithOptions(self.previewController.view.frame.size, NO, 0.0);
    [self.previewController.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage * clonedImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    [mirrorWebPageView setImage: clonedImage];

我尝试使用渲染前窗来查看使用以下代码会得到什么。
    NSArray * currentwindows = [[UIApplication sharedApplication] windows]; 
    UIWindow *trythisone = [currentwindows objectAtIndex:0];
    UIGraphicsBeginImageContextWithOptions(trythisone.frame.size, NO, 0.0);
    [trythisone.layer renderInContext:UIGraphicsGetCurrentContext()];
    UIImage * clonedImage = UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    [mirrorWebPageView setImage: clonedImage];

我显示了导航栏和底部工具栏,但 View 中未显示 QLPreviewController 的内容。

我已阅读 RenderIncontext 存在一些问题,但无法确定这是否是我的问题。

有关如何解决此问题的任何想法都会有所帮助。

谢谢

最佳答案

我尝试在 iOS6 上以编程方式进行屏幕捕获,它只会捕获背景 View 。在 iOS5 上它可以工作。它可能是一种安全功能,可以防止程序捕获您正在查看的内容并将其发送到某个地方。

关于ios - iOS6 中使用 QLPreviewController 渲染上下文的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12823160/

相关文章:

ios - AVCaptureSession 未在 xcode 8.3 中识别

ios - 如何制作这个 "tape rolling"效果 - Objective C

java - 以编程方式在 AWS S3 上启用版本控制

ios - 使用 SwiftGen 在运行时更改语言

ios - 如何在 iOS 7(越狱)中模拟主页按钮按下事件?

ios - Swift - 使用 URL 打开谷歌地图

ios - 在 Swift 中以编程方式将 UITableViewStyle 更改为 Plain?

ios - Swift 中的委托(delegate)方法, fatal error

ios - 我们可以以及如何使用 Urbanairship for iOS app Enterprise Distribution?

iphone - 检测对象上的坐标并将其输出到 NSLog