Ios 计算路径宽度和高度?

Ios 计算路径宽度和高度?,ios,uibezierpath,Ios,Uibezierpath,我正在创建许多变形的UIBEzierPath。我需要计算UIBezierPath的宽度和高度。我该怎么做呢?您可以通过以下代码行获得高度 myPath.bounds.size.height; 至于宽度 myPath.bounds.size.width; 对于所有与贝塞尔曲线相关的内容,我都无法推荐足够的内容,其中包含与您的问题相关的内容。在swift 4中: myPath.cgPath.boundingBox.width myPath.cgPath.boundingBox.height 但

我正在创建许多变形的UIBEzierPath。我需要计算UIBezierPath的宽度和高度。我该怎么做呢?

您可以通过以下代码行获得高度

myPath.bounds.size.height;
至于宽度

myPath.bounds.size.width;

对于所有与贝塞尔曲线相关的内容,我都无法推荐足够的内容,其中包含与您的问题相关的内容。

在swift 4中:

myPath.cgPath.boundingBox.width
myPath.cgPath.boundingBox.height

但是请记住,
bounds
是包含所有控制点的边界框。如果你需要真正的边界框,你必须计算贝塞尔路径上所有三次贝塞尔曲线的最小值/最大值。@MartinR你能解释更多吗?即使我没有明确使用控制点,你的观点是否正确?当我使用简单路径方法时,iOS会添加它们吗?如果您能添加更多数据,我将不胜感激。感谢TannerAn
UIBezierPath
总是由一系列“三次bezier曲线”组成,@BartoszCiechanowski提供了一个关于该主题信息的链接。@TannerSilva:您的示例图像不正确。贝塞尔曲线始终位于控制点的凸包中。因此,曲线始终位于
myPath.bounds
矩形内。
myPath.bounds
矩形可以大于实际边界框,但不能小于实际边界框。