2009-09-06 8 views
0

私のiPhoneアプリケーション用に作成された単純な棒グラフがありますが、手動でx軸ラベルを追加したいと思います。誰かがこれを行う方法を働いていますか?Core-Plot(iPhone)グラフに手作業でラベルを追加する方法はありますか?

私はNSSetを作成し、使用して、それを割り当てるとき、私は、しかしCPXYAxisSet.xAxis.axisLabelsプロパティが見つかりました:

axisSet.xAxis.axisLabelingPolicy = CPAxisLabelingPolicyNone; 
NSSet *labels = [[NSSet alloc] initWithObjects:@"year 1", @"year 2" @"year 3", nil]; 
axisSet.xAxis.axisLabels = labels; 

私が手:

*** Terminating app due to uncaught exception 'CALayerInvalid', reason: 'expecting model layer not copy: year 1' 

エラーを。

誰でも解決策がありますか?

多くのありがとうございます。

答えて

3

Core Plot mailing listではhas been addressedと信じています。 axisLabelsプロパティはNSStringsではなく、CPAxisLabelオブジェクト(CALayerの子孫)のセットを取ります。なぜなら、上記の例外が発生しているからです。

は、カスタムラベルのそれぞれについて、CPAxisLabelを作成するには、次のようなコードを使用するには:

CPAxisLabel *newLabel = [[CPAxisLabel alloc] initWithText: customText]; 
newLabel.tickLocation = [tickLocation decimalValue]; 
newLabel.textStyle = x.axisLabelTextStyle; 
newLabel.offset = x.axisLabelOffset + x.majorTickLength; 

EDIT(2010年1月18日):この例は、今やコアプロットiPhoneに存在しています棒グラフ]タブの下にある[テストアプリケーション]をクリックします。

+0

多くのありがとうございます。私はまた、コアプロットのメーリングリストをヒントにして頭を下げます:-) –

+0

問題ありません。私はここにアカウントを持っている貢献者のほんの一人に過ぎないので、おそらくあなたはそこで問題に目を向けるでしょう。 –

関連する問題