【问题标题】:Core Plot Selecting (Random) Points Challenge核心情节选择(随机)点挑战
【发布时间】:2015-02-26 14:12:33
【问题描述】:

我在 Swift 中使用 Core Plot 制作了一个简单的图表(谢谢 Eric!)并得到以下结果。

挑战:

我想做的是获取用户在绘图区域内的点击坐标。因此,如果用户点击10,20 点,我应该能够重新调整。此外,如果用户点击点14,20,则 14 不在 xAxis 上,因此它应该得到最接近的值 10,并且还会返回点 10,20。 (这应该适用于两个轴,并且返回的值应该是出现在轴上的最接近的值)。

【问题讨论】:

    标签: ios xcode swift graph core-plot


    【解决方案1】:

    使用绘图区域委托并实现以下一种或多种委托方法:

    -(void)plotAreaWasSelected:(CPTPlotArea *)plotArea withEvent:(CPTNativeEvent *)event;
    -(void)plotAreaTouchDown:(CPTPlotArea *)plotArea withEvent:(CPTNativeEvent *)event;
    -(void)plotAreaTouchUp:(CPTPlotArea *)plotArea withEvent:(CPTNativeEvent *)event;
    

    使用-plotPointForEvent:绘图空间方法从事件中获取交互点的数据坐标。

    【讨论】:

    • 谢谢!如何在 Swift 中实现它?
    • 就像在 Objective-C 中做的一样。方法签名可以直接翻译,例如func plotAreaWasSelected(plotArea: CPTPlotArea!, withEvent: UIEvent!)
    • 情节区域委托部分怎么做?
    • 在任何将成为委托的类(通常是视图控制器)中采用CPTPlotAreaDelegate 协议并实现您需要的委托方法。设置图表时,设置绘图区域委托,例如graph.plotAreaFrame.plotArea.delegate = self
    • 我搞定了,谢谢!如何让绘图空间在plotPointForEvent 的参数中使用var x = CPTPlotSpace.plotPointForEvent(<#CPTPlotSpace#>)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多