CorePlot通过多点触控独立变焦轴

时间:2011-07-15 21:13:38

标签: iphone zoom core-plot axes

我有一个带有CorePlot图表的iPhone应用程序。我希望用户能够放大和缩小图形,类似于默认功能,除了一件事:

  • 当用户水平捏合时 - >缩放x轴。
  • 垂直 - >缩放y轴。
  • 对角线 - >缩放两个轴。

如何实现此功能?任何建议将不胜感激。

1 个答案:

答案 0 :(得分:3)

正如菲利克斯·卡津(Felix Khazin)在他的answer中所示。

  

我这样做的方法是调整PlotSpace

代码在他的回答中。

实际管理vertica /对角线/水平手势。

1创建UIPinchGestureRecognizer

    UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc]
                                                      initWithTarget:self action:@selector(handlePinchGesture:)];
            pinchGesture.delegate = self;
            [graphView addGestureRecognizer:pinchGesture];
            [pinchGesture release];

修改

2实现handlePinchGesture方法。

-(IBAction)handlePinchGesture:(UIPinchGestureRecognizer *)sender {

    switch (sender.state) {
        case UIGestureRecognizerStateBegan:
            //Store y and x coordinates of first and second touch
            break;

            case UIGestureRecognizerStateChanged:
            //check y and x coordinates of two finger touches registered in began state
            //to calcualte the actual pinch type:

            //Use scale property to find out if the pinch is zoom in or out

            if([sender scale] < 1) 
                NSLog(@"Zoom out");
            if([sender scale] > 1)
                NSLog(@"Zoom in");

            break;

        default:
            break;
    }
}