Снимок экрана с помощью Swift 5 возвращает черное изображение, а не экран приложения - PullRequest
0 голосов
/ 17 февраля 2020

Я пытаюсь сделать снимок экрана своего приложения, а затем поделиться им.

Проблема, с которой я столкнулся, заключается в том, что когда я делаю снимок экрана и сохраняю его в приложении Photos, изображение, которое получает Сохранено полностью черный (а не скриншот моего приложения).

Как я могу получить скриншот моего приложения? Чего мне не хватает?

func takeScreenshot() {
        let bounds = UIScreen.main.bounds
        UIGraphicsBeginImageContextWithOptions(bounds.size, true, 0.0)
        self.view.drawHierarchy(in: bounds, afterScreenUpdates: false)
        let img = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()
        let activityViewController = UIActivityViewController(activityItems: [img!], applicationActivities: nil)
        self.present(activityViewController, animated: true, completion: nil)
    }

Приложение представляет собой один экран.
Swift 5
xCode 10

Я пытался просмотреть другие похожие проблемы StackOverflow и настроить свой код на их, но получить те же результаты. Бить по стене и пытаться здесь.

Спасибо за любую помощь!

View Controller Scene

1 Ответ

1 голос
/ 18 февраля 2020

Попробуйте изменить

 afterScreenUpdates: false

на

 afterScreenUpdates: true

Таким образом, будет некоторый рисунок к снимку.

...