Измените размер 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) режиме.
Спасибо.