【问题标题】:Resize and Reposition Annotation in Core Plot while zooming缩放时在核心图中调整大小和重新定位注释
【发布时间】:2015-09-17 20:57:45
【问题描述】:

当用户放大和缩小时,我试图在图表上调整文本注释的大小和重新定位,但我真的不知道从哪里开始。

- (BOOL)plotSpace:(CPTPlotSpace *)space shouldScaleBy:(CGFloat)interactionScale aboutPoint:(CGPoint)interactionPoint {
        NSArray *annotations = space.graph.plotAreaFrame.plotArea.annotations;
        for (id annotation in annotations) {
            if ([annotation isKindOfClass:[CPTPlotSpaceAnnotation class]]) {
                CPTPlotSpaceAnnotation *textAnnotation = (CPTPlotSpaceAnnotation *)annotation;
                if ([textAnnotation.contentLayer isKindOfClass:[CPTTextLayer class]]) {
                    // I want to resize font and reposition the annotation when the user zooms
                }
            }
        }
        return YES;
    }

【问题讨论】:

    标签: ios objective-c core-plot


    【解决方案1】:

    您已经找到了绘制注释文本的文本层。更改文字层的textStyle调整字体大小。

    随着绘图空间的变化,注释将跟随其anchorPlotPointdisplacement。如果需要,您可以更新这些属性以相对于其主机移动注释。

    【讨论】:

    • 你的意思是注释会随着绘图空间的变化而跟随它的anchorPlotPoint和位移。我应该通过什么来更新这些属性?比如我想把图放大,interactionScale>1,应该如何更新文本层的anchorPlotPoint和位移。谢谢
    • 我的意思是您根本不必更改它们。绘图空间注释的全部意义在于它固定在数据坐标中的特定点上。当用户缩放绘图时,它将随绘图一起移动。 anchorPlotPoint 是固定数据坐标,displacementanchorPlotPointcontentLayercontentAnchor 之间的像素(点)偏移量。
    猜你喜欢
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    • 2023-01-26
    相关资源
    最近更新 更多