我有这个简单的函数接受一个UIViews数组,它们的大小相同,基本上可以接受大视图或小视图。然后该函数负责将每个UIView缩放为612 x 792维度。
如何通过适当的视图缩放实现此目的?我现在所拥有的只是简单地将视图插入到612 x 792 pdf页面中,这导致每个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
}