2011-12-21 9 views
1

Я работаю над графиком, отображающим даты по оси x и процентом по оси y (1-100). У меня есть график, чтобы показать, как мне нравится, но я хочу отключить возможность прокрутки и масштабирования графика в направлении y, поэтому значения 1-100 всегда отображаются в одном масштабе. Тем не менее, я не могу полностью отключить взаимодействие с пользователем, так как я хочу, чтобы пользователь мог прокручивать (и, возможно, масштабировать) по оси x, по мере увеличения числа дат и касаться узлов для отображения значений.Основная диаграмма - отключить масштабирование и прокрутку в направлении y, а не x

Я был в состоянии это сделать в s7graphview, который я использовал раньше, но не смог заставить это работать с iOS 5. Кроме того, гладкая прокрутка, которую я получил от scrollView в s7, была прекрасной имеют в Core Plot :)

ответ

2

Самый простой способ сделать это - установить globalYRange участка в том же диапазоне, что и yRange. Если вам нужно развернуть yRange, не забудьте сначала снять globalYRange (установите его на ноль).

Чтобы получить больше контроля, вы можете использовать делегат пространства. Реализуйте этот метод:

-(CPTPlotRange *)plotSpace:(CPTPlotSpace *)space 
    willChangePlotRangeTo:(CPTPlotRange *)newRange 
      forCoordinate:(CPTCoordinate)coordinate; 

Вы можете использовать этот метод для изменения предлагаемого изменения в диапазоне графиков.

+0

Это означает, что я не могу прокручивать или масштабировать пределы, установленные мной, но по-прежнему можно увеличить масштаб оси Y, что я предотвращу. – Jambaman

3
//for stop vertical scrolling 

-(CGPoint)plotSpace:(CPTPlotSpace *)space willDisplaceBy:(CGPoint)displacement{ 
     return CGPointMake(displacement.x,0);} 


-(CPTPlotRange *)plotSpace:(CPTPlotSpace *)space willChangePlotRangeTo:(CPTPlotRange *)newRange forCoordinate:(CPTCoordinate)coordinate{ 
    if (coordinate == CPTCoordinateY) { 
     newRange = ((CPTXYPlotSpace*)space).yRange; 
    } 
    return newRange;} 
+0

Это также работает ... – rakeshNS

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