1

Core-plot ライブラリを使用して iPhone アプリケーションで棒グラフを描画していますが、グラフにラベルやその他のビューを追加しようとすると問題が発生します。

実際に追加したビューは、このように上下反転して描かれています.......

コードは次のようになります

UILabel *lbl= [[UILabel alloc] initWithFrame:CGRectMake(250, 90, 70, 25)];
    [lbl setBackgroundColor:[UIColor redColor]];
    [lbl setText:@"HELLO"];
    [self.view addSubview:lbl];
    [lbl release];

core-plot ライブラリをあえていじるつもりはありません。

それで、物事を正しく行う他の方法はありますか?ビューを追加する前に変換を行う必要がありますか?

これが解決策である場合、複数のサブビューを追加する必要があるため、コストがかかります。

私の質問が誰にとっても明確であることを願っています。

4

3 に答える 3

16

CGAffineTransform を使用してコア プロット ビューが反転されているようです。あなたのビューはおそらくそのスーパービューから反転を継承しています。やり方は実にシンプルで、

lbl.transform = CGAffineTransformMakeScale(1,-1);

トリックを行う必要があります。何度も行う必要がある場合は、おそらく次のように単純化します。

CGAffineTransform verticalFlip = CGAffineTransformMakeScale(1,-1);
lbl.transform = verticalFlip;
otherLbl.transform = verticalFlip;

等...

x 軸の反転は次のようになります。CGAffineTransformMakeScale(-1,1);

于 2009-12-11T11:14:07.433 に答える
6

CGAffineTransformInvert実際の変換値を推測しないようにするには、次の関数を使用してみてください。

lbl.transform = CGAffineTransformInvert(self.view.transform);
于 2009-12-11T11:20:58.707 に答える