iPhone - Core-plot, прокрутите CPScatterPlot вручную - PullRequest
0 голосов
/ 24 февраля 2011

Я хочу прокрутить CPScatterPlot вручную в моем коде. Я могу прокрутить область графика, но прокрутка globalXRange & globalYRange не работает должным образом. Я могу прокрутить (вручную, с помощью нажатия кнопки) за пределы графика. Я хочу ограничить область прокрутки, когда она достигнет глобального диапазона.

Вот код, который я использую,

-(IBAction)moveLineLocation:(id)sender {

    isButtonClicked = TRUE;
    currentTag = [sender tag];

    CPPlotRange *rangeX = plotSpace.xRange;
    CPPlotRange *rangeY = plotSpace.yRange; 

    if([sender tag] == 1) {
        rangeX.location = CPDecimalAdd(rangeX.location, CPDecimalFromFloat(-0.5));
    }
    else if([sender tag] == 2) {
        rangeY.location = CPDecimalAdd(rangeY.location, CPDecimalFromFloat(0.5));
    }
    else if([sender tag] == 3) {
        rangeX.location = CPDecimalAdd(rangeX.location, CPDecimalFromFloat(0.5));
    }
    else {
        rangeY.location = CPDecimalAdd(rangeY.location, CPDecimalFromFloat(-0.5));
    }

    plotSpace.xRange = rangeX;
    plotSpace.yRange = rangeY;

    [graph.axisSet relabelAxes];
    [graph reloadData];
}

Как я могу ограничить переход от этой проблемы?

P.S. - На ощупь события globalXRange & globalYRange работают абсолютно идеально.

Спасибо

Pratik

1 Ответ

1 голос
/ 25 февраля 2011

Сделайте копию диапазонов графика, прежде чем изменять их:

CPPlotRange *rangeX = [plotSpace.xRange copy];
CPPlotRange *rangeY = [plotSpace.yRange copy];
...