Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/93.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何检测“UIBezierPath”的一部分是否位于给定的“CGRect”中?_Ios_Swift_Uibezierpath_Cgrect - Fatal编程技术网

Ios 如何检测“UIBezierPath”的一部分是否位于给定的“CGRect”中?

Ios 如何检测“UIBezierPath”的一部分是否位于给定的“CGRect”中?,ios,swift,uibezierpath,cgrect,Ios,Swift,Uibezierpath,Cgrect,我目前正试图找出如何检测给定的UIBezierPath是否在任何点与给定的CGRect相交。 例如,我会有以下内容: let circlePath = UIBezierPath( arcCenter: CGPoint.zero, radius: 100, startAngle: 0, endAngle: 2 * CGFloat.pi, clockwise: false ) let rectangle = CGRect(x: 120, y: 120, width: 30, h

我目前正试图找出如何检测给定的
UIBezierPath
是否在任何点与给定的
CGRect
相交。
例如,我会有以下内容:

let circlePath = UIBezierPath(
  arcCenter: CGPoint.zero,
  radius: 100,
  startAngle: 0,
  endAngle: 2 * CGFloat.pi,
  clockwise: false
)

let rectangle = CGRect(x: 120, y: 120, width: 30, height: 30)
现在我想弄清楚,在任何一点上,
circlePath
是否位于
矩形中

我该怎么办

更新:
是否有某种方法可以访问路径的基本数学函数?这可以让我计算是否与给定的“CGRect”相交。

创建自定义视图,覆盖
drawRect
,在其中绘制路径,新视图的框架为
CGRect
,使用
CGRectIntersectsRect
函数来确定两个矩形的交点……这就是我目前正在做的。但这还不够。假设我在自定义视图的中心绘制
circlePath
:点
(100100)
将注册为相交,尽管路径甚至不在该点上。是的,但您应该绘制将与视图边相邻的路径。当然,视图背景颜色是透明的,我想你也需要,而且边框也是不可见的…无论如何,这不是很好,因为有盲区(角点),它检测矩形相交,而路径不是…看看
CGContextPathContainsPoint
函数,也许它会有所帮助。您可以从
CGRect
获取点,并检查它们是否包含在路径中。