2016-03-07 3 views
0

Я использую coreplot нарисовать график рассеяния так: enter image description hereCoreplot - выбор область ниже линии

я использую 4 разных участков (как цветные) и создать «бар, как» чувство, добавляя точки 0-значение в начале/конце каждого «бара». Я хочу определить, какой бар был выбран пользователем, а затем изменить альфа других графиков.

Я попытался с помощью

-(BOOL)plotSpace:(CPTPlotSpace *)space shouldHandlePointingDeviceDownEvent:(id)event atPoint:(CGPoint)point { 
    //here I translate the selected point to Data points coordinates 
    //and check which of the plot sources has value >0 (that means bar is visible) 
    //and is closest to the selected point 
} 

Этот метод работает, но когда я хочу, чтобы просмотреть данные, вышеописанный метод называется также.

Должно быть какое-то более легкое решение для этого. Благодарю.

+0

Почему вы используете рассеянную диаграмму для рисования полосы? В панелях Bar есть методы делегирования, чтобы указать вам, когда панель выбирается напрямую. –

+0

Это не бар. Это постоянные значения (1/2/3/4), которые указывают разные фазы, которые я хочу отобразить. Их ширина меняется как фазы, где происходит в разное время. Я думал, что будет правильно рисоваться с использованием разброса. – izik461

ответ

1

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

+0

Спасибо. Я думал, что это будет легче сделать, но похоже, что я не пропущу работу с обычным жестом. – izik461

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