Вы можете использовать метод containsPoint:
UIBezierPath, чтобы определить, находится ли касание в пределах кривой. Однако это работает, только если путь закрытого типа, например, круг или прямоугольник.
Одна вещь, которую я никогда не проверял, это то, что путь неявным образом закрыт невидимой линией от начальной точки до конечной точки. Как и в 3 сторонах многоугольника можно обнаружить попадание в 4 стороны, когда 4-й стороны не существует, кроме как в вашем воображении.
В случае, когда кривая представляет собой один штрих (как в программе рисования), вам придется искусственно расширять штрих, чтобы обнаружить ваше прикосновение. Один из способов добиться этого - запустить касательные с каждого конца и нарисовать параллельную линию одинаковой формы вдоль кривой, которую большинство векторных программ делают, когда вы запрашиваете «расширение линии / обводки», тогда вы можете обнаружить попадание в этом расширенном обводке. Толщина вашего расширенного удара будет определять, насколько точным должно быть касание.