1

Core Plot プロジェクトに取り組んでいますが、問題が発生しました。私の X 軸ラベルはすべて複数行です。それらを完全に中央に配置したいのですが、これまでにそれを行うことができた唯一の方法は、ラベルである NSString に手動でスペースを追加することです。以下のコードを参照してください...

 NSDictionary *dataTemp=[NSDictionary dictionaryWithObjectsAndKeys:white,@"      
 White\rBuilding\r(220 max)",rec,@"Rec. Hall\r(240 max)",im,@"    IM\rBuilding\r(60 
 max)",fit,@"Fitness\r   Loft\r(40 max)",nil];

プログラムでラベルを揃える方法があると思いますが、まだ見つけていません。助けていただければ幸いです。これは、グラフのラベルがどのように見えるかのスクリーンショットです

ここに画像の説明を入力

x軸ラベルを定義するコードは次のとおりです...

//Array containing all the names that will be displayed on the X axis
dates = [NSArray arrayWithObjects:@"Rec. Hall\r(240 max)", @"  White\rBuilding\r(220 
max)", @"    IM\rBuilding\r(60 max)",
         @"Fitness\r   Loft\r(40 max)",  nil];

そして、これがチャートにラベルを作成するコードです

 //X labels
int labelLocations = 0;
NSMutableArray *customXLabels = [NSMutableArray array];
for (NSString *day in dates) {
    CPTAxisLabel *newLabel = [[CPTAxisLabel alloc] initWithText:day 
textStyle:x.labelTextStyle];
    newLabel.tickLocation   = [[NSNumber numberWithInt:labelLocations] decimalValue];
    newLabel.offset         = x.labelOffset + x.majorTickLength;
    [customXLabels addObject:newLabel];
    labelLocations++;
    [newLabel release];
}
x.axisLabels                    = [NSSet setWithArray:customXLabels];
4

2 に答える 2

1

これは機能するはずです-textAlignmentラベルのプロパティを使用してみてください:

label.textAlignment = NSTextAlignmentCenter; 

@Martinが指摘したように、UILineBreakModeWordWrap改行が単語全体の後にのみ発生するように追加することもできます。

label.lineBreakMode = UILineBreakModeWordWrap;
于 2013-03-09T01:37:32.113 に答える
0

ラベルの作成時に使用されるテキスト スタイル ( x.labelTextStyle) に、次のプロパティ設定が含まれていることを確認してください。

textStyle.textAlignment = CPTTextAlignmentCenter;
于 2013-03-09T13:35:17.303 に答える