Сделайте снимок экрана всего представления, отображаемого в Swift UI.IOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 Сделайте снимок экрана всего представления, отображаемого в Swift UI.

Сообщение Anonymous »


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

частная функция captureScreenshot(ofviewToCapture:[UIView]) -> UIImage? { // Вычисляем объединенные границы всех представлений варкомбинированныйFrame = CGRect.zero для просмотра в viewToCapture { комбинированныйFrame = комбинированныйFrame.union(view.frame) } // Создаем новый контекст для объединенного размера UIGraphicsBeginImageContextWithOptions(combinedFrame.size, false, 0,0) // Перебираем представления и захватываем их содержимое для просмотра в viewToCapture { // Смещаем рамку представления по ее положению в объединенном изображении let offsetFrame = view.frame.offsetBy(dx: -combinedFrame.origin.x, dy: -combinedFrame.origin.y) view.drawHierarchy(in: offsetFrame, afterScreenUpdates: true) } // Получаем объединенное изображение пусть снимок экрана = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() вернуть скриншот } Это код, который я использую

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

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»