我正在使用margin-right
创建使用UIBezierPath
显示的形状。但是,为了设置CAShapeLayer
的正确帧,我需要包含CAShapeLayer
对象的帧。
根据文档,有UIBeziehPath
属性。然而,当我使用它时,图层不包含绘制的路径。有没有办法将bounds
转换为对应于包含视图坐标系中正确框架的path.bounds
?我试过了
CGRect
没有成功。 谢谢你的帮助。
答案 0 :(得分:3)
您可以使用以下内容:
let pathRect = shapeLayer.path!.boundingBoxOfPath
另外,来自CALayer documentation:
框架矩形是超层坐标空间中指定的图层的位置和大小。对于图层,框架矩形是一个计算属性,它是从thebounds,anchorPoint和position属性中的值派生而来的。为此属性指定新值时,图层会更改其位置和边界属性以匹配您指定的矩形。矩形中每个坐标的值以磅为单位进行测量。
您可以设置边界(保持图层位置不变)或设置框架(将转换为边界和位置)。