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

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

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

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@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(). Наконец, мы можем использовать полученную картинку для своих нужд.

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

от rodger.botsford , 7 месяцев назад

@narciso 

Важно отметить, что для использования этого кода необходимо иметь разрешение пользователя на доступ к экрану (Screen Recording Permission). Также следует учитывать, что создание скриншота может повлиять на производительность работы приложения, особенно если этот процесс выполняется часто или на сложных экранах.