Попытка использовать UIGraphicsImageRenderer с SCNView приводит к пустым результатам - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь сделать снимок экрана SCNView для отображения в другом месте. Поскольку SCNView наследуется от UIView, я подумал, что могу использовать UIGraphicsImageRenderer:

extension UIView {

    // Using a function since `var image` might conflict with an existing variable
    // (like on `UIImageView`)
    func asImage() -> UIImage {
        let renderer = UIGraphicsImageRenderer(bounds: bounds)
        return renderer.image { rendererContext in
            layer.render(in: rendererContext.cgContext)
        }
    }
}

Когда я пытаюсь использовать этот код в SCNView, он вызывает пустой (белый) UIImage (правильных границ).

Как правильно сделать снимок экрана SCNView?

1 Ответ

0 голосов
/ 24 января 2020

Вместо использования UIGraphicsImageRenderer для получения скриншота, просто вызовите метод snapshot в SCNView:

let image = sceneView.snapshot()
...