Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 屏幕截图显示的所有内容_Ios_Swift - Fatal编程技术网

Ios 屏幕截图显示的所有内容

Ios 屏幕截图显示的所有内容,ios,swift,Ios,Swift,我试图截取iPhone显示屏上显示的所有内容的屏幕截图,就像同时按下home和power按钮一样。我目前必须截图的代码如下: func screenShotMethod() { //hide UI buttonTrigger.hidden = true //take screenshot let layer = UIApplication.sharedApplication().keyWindow!.layer let scale = UIScreen

我试图截取iPhone显示屏上显示的所有内容的屏幕截图,就像同时按下home和power按钮一样。我目前必须截图的代码如下:

func screenShotMethod() {

    //hide UI
    buttonTrigger.hidden = true

    //take screenshot
    let layer = UIApplication.sharedApplication().keyWindow!.layer
    let scale = UIScreen.mainScreen().scale
    UIGraphicsBeginImageContextWithOptions(view.frame.size, false, scale);

    layer.renderInContext(UIGraphicsGetCurrentContext()!)
    let screenshot = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    UIImageWriteToSavedPhotosAlbum(screenshot, nil, nil, nil)

    //show UI
    buttonTrigger.hidden = false
}
关键是我正在使用相机,并将图片覆盖在它检测到的任何人脸上,而将其保存到相机卷的最简单方法就是隐藏UI和屏幕截图。然而,通过这种方法,我得到了一张面部跟踪图片的截图,在正确的位置和大小,但不是相机在下面看到的——只是白色。我使用viewDidLoad()中的CameraEngine框架启用相机,如下所示:

override func viewDidLoad() {
    super.viewDidLoad()

    self.cameraEngine.startSession()
有没有更好的方法来截屏一切,使其表现得像硬件诱导的方法?或者我怎样才能在截图中包含相机看到的内容

谢谢大家!


更新:如果将来有人想知道我是如何解决这个问题的,因为我无法截屏我自己没有画的东西,我解决了这个问题,用相机拍了一张照片,并将该图像设置为视图的背景,然后执行截屏功能,它就工作了

从iOS 9开始,不再可能拍摄包含程序未绘制的屏幕元素的屏幕截图。您只能捕获应用程序的视图和层。苹果不会将power+home触发的功能公开给第三方开发者。

从iOS 9开始,不再可能拍摄包含程序未绘制的屏幕元素的屏幕截图。您只能捕获应用程序的视图和层。苹果没有向第三方开发者公开power+home触发的功能。

该答案中的代码是我目前执行屏幕截图的方式,但屏幕截图不包括相机看到的内容。也许我需要在UIView中启动摄像头会话?答案中的代码是我目前执行屏幕截图的方式,但屏幕截图不包括摄像头看到的内容。也许我需要在UIView中启动相机会话?谢谢您的回复!谢谢你的回复!