代码之家  ›  专栏  ›  技术社区  ›  Mark

使用核心绘图,如何将接触点转换为绘图空间?

  •  4
  • Mark  · 技术社区  · 15 年前

    我有一个非常简单的图形,我想启用触摸,我有 第一部分工作:

    plotSpace.delegate=自身;

    方法是:

    -(BOOL)plotSpace:(CPPlotSpace *)space
    shouldHandlePointingDeviceDownEvent:(id)event atPoint:(CGPoint)point
    {
        NSLog(@"touched at: x: %f y: %f", point.x, point.y);
    }
    

    我可以看到这些方法,但我不知道如何使用它们,文档, 虽然很大,但并不能很好地描述它们:)

    作记号

    2 回复  |  直到 15 年前
        1
  •  2
  •   Mark    14 年前

    我不得不承认,我忘了这个问题,谢谢史蒂夫的回答。

    我也解决了这个问题,这是我的实现(我正在扩展 CPXYGraph

    -(BOOL)plotSpace:(CPPlotSpace *)space shouldHandlePointingDeviceDownEvent:(id)event atPoint:(CGPoint)point {
    
        CPScatterPlot *plot = (CPScatterPlot*)[[self allPlots] objectAtIndex: 0];
        CGPoint pointInPlotArea = [plot convertPoint:point toLayer:plot];
    
        if ([plot containsPoint:pointInPlotArea]) {
            CPXYPlotSpace *plotSpace = (CPXYPlotSpace*)[self defaultPlotSpace];
            NSDecimal touchDataPoint[2];
            [plotSpace plotPoint:touchDataPoint forPlotAreaViewPoint:pointInPlotArea];
        }
    }
    

    touchDataPoint然后包含用户所接触的坐标。

    推荐文章