У меня сложный путь с несколькими сегментами Безье, соединенными вместе. Этот путь является динамическим, и пользователь может добавлять и удалять точки внутри этого пути.Широкий путь безье для определения точки
Когда я рисую путь, я сохранить 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
, чтобы расширить область? Я хочу, чтобы он контролировал, насколько широка эта область.