Как в swift сделать скриншот главного экрана ios?

Пользователь

от narciso , в категории: Swift , год назад

Как в swift сделать скриншот главного экрана ios?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от hanna_jacobson , год назад

@narciso 

Для создания скриншота главного экрана в iOS на Swift можно использовать следующий код:

1
2
3
4
5
6
7
if let window = UIApplication.shared.keyWindow {
    UIGraphicsBeginImageContextWithOptions(window.bounds.size, false, UIScreen.main.scale)
    window.drawHierarchy(in: window.bounds, afterScreenUpdates: true)
    let image = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()
    // использование полученной скриншота
}


Данный код использует ключевое окно приложения для создания скриншота. В начале мы получаем ключевое окно нашего приложения и создаем контекст рисования с нужными параметрами. Затем мы производим отрисовку содержимого главного экрана приложения в полученный контекст с помощью метода drawHierarchy(in:afterScreenUpdates:). Мы получаем изображение вызовом функции UIGraphicsGetImageFromCurrentImageContext(), после чего мы завершаем контекст вызовом функции UIGraphicsEndImageContext(). Наконец, мы можем использовать полученную картинку для своих нужд.