从UIBezierPath的边界矩形中获取帧

时间:2015-05-11 21:13:18

标签: objective-c frame uibezierpath bounds

我正在使用margin-right创建使用UIBezierPath显示的形状。但是,为了设置CAShapeLayer的正确帧,我需要包含CAShapeLayer对象的帧。 根据文档,有UIBeziehPath属性。然而,当我使用它时,图层不包含绘制的路径。有没有办法将bounds转换为对应于包含视图坐标系中正确框架的path.bounds?我试过了

CGRect

没有成功。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:3)

您可以使用以下内容:

let pathRect = shapeLayer.path!.boundingBoxOfPath

另外,来自CALayer documentation

  

框架矩形是超层坐标空间中指定的图层的位置和大小。对于图层,框架矩形是一个计算属性,它是从thebounds,anchorPoint和position属性中的值派生而来的。为此属性指定新值时,图层会更改其位置和边界属性以匹配您指定的矩形。矩形中每个坐标的值以磅为单位进行测量。

您可以设置边界(保持图层位置不变)或设置框架(将转换为边界和位置)。