2012-03-22 4 views
2

グラフ自体がUIScrollViewの内部にある場合、CPTXYGraphに軸を固定する方法を誰かが知っていますか?明確にするためにUITcrollView内のCPTXYGraph

、私は現在の画面よりも広くなっているCPTXYGraph表示するデータを持っているので、私は(私はuserInteractionEnabled財産コアプロットが公開さを認識してんだけど、私は維持する必要が横スクロールでUIScrollView内側に配置加速およびその他の利益はUIScrollView)。画面の左側にY軸が固定されている必要があります。layoutSubviewsの方法では通常UIScrollViewの方法でやります。私の最初の推測は、現在のcontentOffsetに対応するCPTXYAxis(それはCALayerから継承していると考えています)に変換を適用するだけでしたが、それは効果がないようです。私もorthogonalCoordinateDecimalのプロパティで遊んだが、それは行き止まりのように見える。

この作業に成功した人はいますか?あまりにもこの問題を解決するためにお探しの方の利益のために

答えて

2

、私の解決策:

あなたは軸を配置する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の異なるイニシャライザを使用して、固定軸のすべての位置で再使用できます。

0
[plotSpace setAllowsUserInteraction:YES]; 
関連する問題