Делая снимок UIImageView вместо основного просмотра - PullRequest
0 голосов
/ 21 мая 2018

В моем приложении в моем View есть кнопка для создания снимка с кодом ниже

open func takeScreenshot(_ shouldSave: Bool = true) -> UIImage? {
    var screenshotImage :UIImage?
    let layer = UIApplication.shared.keyWindow!.layer
    let scale = UIScreen.main.scale
    UIGraphicsBeginImageContextWithOptions(layer.frame.size, false, scale);
    guard let context = UIGraphicsGetCurrentContext() else {return nil}
    layer.render(in:context)
    screenshotImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    if let image = screenshotImage, shouldSave {
        UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
    }
    return screenshotImage
}

Но в том же View есть UIImageView, и я хочу сделать снимок этого UIImageView.Как мне изменить код?Когда я делаю снимок с этим кодом, он сохраняет только черный экран с кнопкой для воспроизведения / приостановки видео и с кнопкой для создания снимка.

1 Ответ

0 голосов
/ 21 мая 2018

Вместо этого вы используете

let layer = UIApplication.shared.keyWindow!.layer

Просто используйте ваш слой просмотра изображений

let layer = YourImageView.layer
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...