0
我有一个复杂的路径,几个贝塞尔段连接在一起。此路径是动态的,用户可以添加和删除此路径内的点。用于点检测的宽贝塞尔路径
当我画的路径,我救UIBezierPath
副本,就像这样:
CGContextBeginPath(context);
for (NSUInteger i = 0; i < _points.count - 1; i++)
{
// ...
CGContextAddCurveToPoint(context, cp1x, cp1y, cp2x, cp2y, endX, endY);
}
_path = [UIBezierPath bezierPathWithCGPath:CGContextCopyPath(context)];
CGContextStrokePath(context);
我创建长按手势新点:
- (void)handleLongPress:(UILongPressGestureRecognizer *)recognizer
{
// ...
CGPoint point = [recognizer locationInView:self];
if ([_path containsPoint:point])
{
// process point
}
// ...
}
但是,这需要用户挖掘非常接近路径。我希望在我认为任何抽头有效的路径周围有更广阔的区域(如线宽)。
如何配置UIBezierPath
以允许更大的区域?我想要它控制这个区域可能有多宽。