【问题标题】:Getting the frame from a bounding rectangle of UIBezierPath从 UIBezierPath 的边界矩形获取框架
【发布时间】:2015-05-11 21:13:17
【问题描述】:

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

[self convertRect:path.bounds toView:self] 

没有成功。 感谢您的帮助。

【问题讨论】:

    标签: objective-c frame uibezierpath bounds


    【解决方案1】:

    您可以使用以下内容:

    let pathRect = shapeLayer.path!.boundingBoxOfPath
    

    另外,来自CALayer documentation

    边框矩形是在超层坐标空间中指定的层的位置和大小。对于图层,框架矩形是从边界、锚点和位置属性中的值派生的计算属性。当您为此属性分配新值时,图层会更改其位置和边界属性以匹配您指定的矩形。矩形中每个坐标的值以点为单位。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 2020-08-07
      • 1970-01-01
      • 2018-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多