2014-02-14 3 views
0

У меня есть линейный график, сделанный с CPTScatterPlot. Я могу легко обнаружить штрихи на сюжетных точках, но я также хочу ответить на касания на линии, соединяющей точки.core-plot - обнаружение касания на линии между точками CPTScatterPlot (iOS)?

Есть ли простой способ сделать это?

Я знаю, что могу использовать indexOfVisiblePointClosestToPlotAreaPoint, чтобы найти участок, ближайший к прикосновению пользователя. Преобразование для просмотра координат и делать то же самое со следующей (или предыдущей) точке участка, я могу вычислить или нет прикосновение пользователя находится на линии, соединяющей эти две точки с чем-то вроде:

(pt2.x - pt1.x)*(touchPoint.y - pt1.y) - (pt2.y - pt1.y)*(touchPoint.x - pt1.x) 

где T1 и T2 являются координатами представления двух сюжетных точек, а touchPoint - это точка, где пользователь коснулся где-то между ними (pt1.x < = touchPoint.x < = pt2.x).

Это будет работать, но я думаю, что должен быть более простой способ - кажется, что Core Plot должен быть способен сделать это для меня.

Есть ли более простой способ сделать это, или мне нужно сделать это с трудом? Если я должен сделать это с трудом, это будет что-то стоящее в качестве улучшения для основной команды? Если это так, я реализую его в CPTScatterPlot и отправлю в патч. В противном случае я просто сделаю это в своих классах и сам обработаю.

ответ

0

Core Plot в данный момент не поддерживает эту функцию, хотя есть open issue с запросом об этом. Если вы придумаете решение, которое хотите разделить, запросы на получение приветствуются.

+0

Спасибо Эрик. Полезно, как всегда. –

Смежные вопросы