【问题标题】:CPTXYGraph inside UIScrollViewUIScrollView 内的 CPTXYGraph
【发布时间】:2012-03-22 14:17:43
【问题描述】:

当图形本身位于UIScrollView 内时,是否有人知道如何使轴固定在CPTXYGraph 上?

为了澄清,我有一个 CPTXYGraph 显示比当前屏幕更宽的数据,所以我将它放在一个带有水平滚动的 UIScrollView 中(我知道 userInteractionEnabled 属性 core-plot 暴露,但我需要保持UIScrollView 的加速和其他好处)。我需要将 Y 轴固定在屏幕左侧,我通常会在 UIScrollViewlayoutSubviews 方法中执行此操作。我的第一个猜测是只对与当前contentOffset 对应的CPTXYAxis 应用转换(考虑到它继承自CALayer),但这似乎没有效果。我也玩过orthogonalCoordinateDecimal 属性,但它看起来像是死路一条。

有没有人成功完成这项工作?

【问题讨论】:

    标签: ios ipad uiscrollview core-plot


    【解决方案1】:

    为了任何想要解决这个问题的人的利益,我的解决方案:

    您可以使用CPTConstraints 来定位轴,所以我在我的UIScrollView 子类中做了以下操作:

    - (void)layoutSubviews {
        [super layoutSubviews];
    
        CGFloat xOffset = (self.contentOffset.x >= 0 ? self.contentOffset.x : 0.0f);
    
        CPTXYGraph *graph = [self graph];
        CPTXYAxisSet *axisSet = (CPTXYAxisSet *)[graph axisSet];
        CPTXYAxis *yAxis = [axisSet yAxis];
    
        [yAxis setAxisConstraints:[CPTConstraints constraintWithLowerOffset:xOffset]];
    }
    

    此代码可以使用 CPTConstraints 的不同初始化程序重新用于所有固定轴位置。

    【讨论】:

      【解决方案2】:
      [plotSpace setAllowsUserInteraction:YES];
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-11-28
        • 2012-07-16
        • 2013-03-29
        • 2013-04-19
        • 2012-06-11
        • 2013-03-26
        相关资源
        最近更新 更多