【问题标题】:Touching a plotSymbol in CorePlot在 CorePlot 中触摸 plotSymbol
【发布时间】:2010-11-18 13:00:00
【问题描述】:

当用户单击(或触摸)使用 Core Plot 创建的 mye 图形上的 plotSymbol 时,我正在尝试运行一些代码。

这不适用于散点图:

-(void)scatterPlot:(CPScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:    (NSUInteger)index
{
    NSLog(@"plotSymbolWasSelectedAtRecordIndex %d", index); 
}

但是当我使用 barPlot 时这很有效:

-(void)barPlot:(CPBarPlot *)plot barWasSelectedAtRecordIndex:(NSUInteger)index
{
    NSLog(@"barWasSelectedAtRecordIndex %d", index);
}

当用户点击或触摸我的散点图时,我尝试捕捉时遗漏了什么?

【问题讨论】:

  • 嗨,我也在尝试将这个功能集成到我的代码中,但是当我添加这个方法时,当我们点击 barplot 时它甚至没有被调用。请解释清楚,关于这个方法的实施。thx 在提前...

标签: objective-c core-plot


【解决方案1】:

您需要在散点图上设置plotSymbolMarginForHitDetection。如果您需要点击更大的目标,您应该将其设置为与绘图符号的大小相匹配或稍大一些。

【讨论】:

  • 非常感谢!另外值得注意的是,您可以将 plotSymbolMarginForHitDetection 设置为您的绘图宽度/符号数量,以便在符号较少时更容易选择符号,但在符号较多时仍然可以选择某个符号。跨度>
  • 伙计,我喜欢在这个框架中如何向我们展示一切。精心设计。
【解决方案2】:

另外,不要忘记将 CPScatterPlot 的委托设置为指向您的对象,否则它不会被调用。

【讨论】:

    【解决方案3】:

    如果你在初始化时在 CPTGraphHostingView 的子类中设置你的东西(比如在来自 xib 的 initWithCoder 中),你的 hostsGraph 属性可能会被 Core Plot 破坏(至少从 1.3 开始),所以点击处理会短路。

    https://code.google.com/p/core-plot/issues/detail?id=555

    不用说这发生在我身上 :-) 我的解决方法是在我的 numberOfRecordsForPlot 中设置 hostsGraph,如果它还没有设置的话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 1970-01-01
      • 2015-01-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多