我正在开发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];
答案 0 :(得分:1)
这应该有效 - 您应该尝试使用标签上的textAlignment
属性:
label.textAlignment = NSTextAlignmentCenter;
正如@Martin指出的那样,您还可以添加UILineBreakModeWordWrap
,因此仅在整个单词后才会出现换行符:
label.lineBreakMode = UILineBreakModeWordWrap;
答案 1 :(得分:0)
确保创建标签时使用的文字样式(x.labelTextStyle
)包含以下属性设置:
textStyle.textAlignment = CPTTextAlignmentCenter;