Измените размер UIView перед тем, как сделать снимок экрана

Я пытаюсь преобразовать в файл для сохранения в фотоальбом.

До сих пор мне это удавалось, но полученное изображение основано на макете на экране. (например: портрет или пейзаж)

Моя цель - получить один и тот же результат (например, квадрат) независимо от того, находится ли он в портретной или альбомной ориентации.

Это текущий код, который я использую (я пробовал много разных методов)

      extension UIView {
    func image() -> UIImage {
        let imageRenderer = UIGraphicsImageRenderer(bounds: bounds)
        if let format = imageRenderer.format as? UIGraphicsImageRendererFormat {
          format.opaque = true
        }
        let image = imageRenderer.image { context in
            return layer.render(in: context.cgContext)
        }
        return image
    }
}

Я могу изменить UIImage размер до желаемого размера, но UIView по-прежнему следует тому, что изначально отображается на экране.

        let f = ergTrainChartView.frame;      //Grab current
  ergTrainChartView.frame = CGRect(x: f.origin.x, y: f.origin.y, width: 365, height: 365)

Моя цель - сохранить левое изображение независимо от того, находится ли устройство в портретном или ландшафтном (iPad или iPhone) режиме.

Спасибо.

0 ответов

Другие вопросы по тегам