Изменение размера / масштабирование PDF-страниц при преобразовании каждого UIView в NSMutableData
У меня есть эта простая функция, которая принимает массив UIViews, которые имеют одинаковые размеры, которые в принципе могут принимать либо большие или меньшие представления. Тогда функция будет отвечать за масштабирование каждого UIView в размеры 612 x 792.
Как я могу добиться этого при правильном масштабировании вида? То, что у меня есть сейчас, - это просто вставить представления в страницы PDF размером 612 x 792, что приводит к обрезанию каждого UIViews с правой стороны.
Вот код:
func resize(pages: [UIView]) -> NSMutableData {
let a4 = CGSize(width: 612, height: 792)
let pdfData = NSMutableData()
UIGraphicsBeginPDFContextToData(pdfData, CGRect(x:0, y:0, width:a4.width, height: a4.height), nil)
for _view in pages {
if let view = _view as? UIView {
UIGraphicsBeginPDFPageWithInfo(view.bounds, nil)
UIGraphicsGetCurrentContext()!.saveGState()
let pdfContext = UIGraphicsGetCurrentContext()!
view.layer.render(in: pdfContext)
UIGraphicsGetCurrentContext()!.restoreGState()
}
}
UIGraphicsEndPDFContext()
return pdfData
}