我的 IOS 应用程序中有一个PKCanvasView
。当用户放入绘图时,它会将笔画保存为PKDrawing
. 可以在具有不同屏幕尺寸的许多不同设备上访问此绘图。但是,当在较大的设备(例如 iPad)上创建的绘图在较小的设备(例如 iPhone)上查看时,绘图会从右下角被截断。此外,当在较大设备上查看在较小设备上创建的绘图时,它不会填满空间,而是被限制在右上角。
我的问题:
有什么方法可以PKDrawing
放大或缩小以适应PKCanvasView
' 框架?
我通过使用该transform
功能将绘图放大或缩小以适合屏幕尺寸来修复它。我做了一个扩展:
extension PKDrawing {
mutating func scale(in frame: CGRect) {
var scaleFactor:CGFloat = 0
if self.bounds.width != frame.width {
scaleFactor = frame.width / self.bounds.width
} else if self.bounds.height != frame.height {
scaleFactor = frame.height / self.bounds.height
}
let trasform = CGAffineTransform(scaleX: scaleFactor, y: scaleFactor)
self.transform(using: trasform)
}
}