Swift:使用父视图大小动态调整大小/缩放UIBezierPath

时间:2017-06-17 09:30:26

标签: ios swift resize uibezierpath cashapelayer

我正在使用UIBezierPathCAShapeLayer绘制一条线并将其作为子图层添加到视图中。一切正常,现在我必须调整大小' Line'与其父视图一起严格保持与视图一致的比例。

以下是创建一行的代码:

let line = UIBezierPath.arrow(from: startPoint, to: endPoint, tailWidth: 5, headWidth: 20, headLength: CGFloat(inputLength * 0.1))
let shapeLayer = CAShapeLayer()
shapeLayer.path = line .cgPath
self.view.layer.addSublayer(shapeLayer)

1 个答案:

答案 0 :(得分:3)

我猜你可以缩放保存路径的视图,比如

let scaleWidth = toSize.width / fromSize.width
let scaleHeight = toSize.height / fromSize.height
path.apply(CGAffineTransform(scaleX: scaleWidth, y: scaleHeight))

并使用比例因子来获得路径的某个点