如何使用 iphone sdk 中的 corePlot 库将 CPTAxisLabel 包装成两行?

Posted

技术标签:

【中文标题】如何使用 iphone sdk 中的 corePlot 库将 CPTAxisLabel 包装成两行?【英文标题】:How to use wrap CPTAxisLabel into two lines using corePlot library in iphone sdk? 【发布时间】:2011-10-24 14:12:05 【问题描述】:

如果文本长度大于 50 个字符,我想在两行中显示 CPTAxisLabel。我怎样才能做到这一点?我看到了一种在矩形中绘制字符串的方法。但我不知道如何调用这个方法。 如果以下方法是解决此问题的方法,请帮助我如何调用它。否则请以其他方式提供给我。

提前致谢 -(void)drawInRect:(CGRect)rect withTextStyle:(CPTTextStyle *)style inContext:(CGContextRef)context if ( style.color == nil ) 返回;

CGContextSaveGState(context);
CGColorRef textColor = style.color.cgColor;

CGContextSetStrokeColorWithColor(context, textColor);   
CGContextSetFillColorWithColor(context, textColor);

CPTPushCGContext(context);  

UIFont *theFont = [UIFont fontWithName:style.fontName size:style.fontSize];

[self drawInRect:rect
        withFont:theFont
   lineBreakMode:UILineBreakModeWordWrap
       alignment:(UITextAlignment)style.textAlignment];

CGContextRestoreGState(context);
CPTPopCGContext();

【问题讨论】:

【参考方案1】:

无需重新发明***——CPTTextLayer 可以处理多行文本。在需要换行符的位置插入换行符 ('\n')。 CPTTextStyle可以控制文字对齐方式(左、中、右)。

【讨论】:

我没有自动获取多行文本。我有长度为 80 个字符的切片标签,但它只显示剩余 50 个字符被切断。如果我想添加 '\n' 意味着我必须计算文本长度,并且当长度超过 50 时我必须添加 \n。如果有其他解决方案,请提供给我。

以上是关于如何使用 iphone sdk 中的 corePlot 库将 CPTAxisLabel 包装成两行?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 iphone sdk 中的 corePlot 库将 CPTAxisLabel 包装成两行?

如何使用 iphone SDK 中的两个按钮在运行时更改应用程序语言?

如何通过 iPhone SDK 中的 FBconnect 或 Graph API 在 facebook 中评论或喜欢照片?

如何从 iphone sdk 中的 ISOCountryCode 获取 ISOCurrencyCode?

如何从 iphone sdk 中的城市名称获取位置(坐标)?

如何在 iPhone SDK 中使用手势在屏幕上绘图?