1

在下面的代码中,我试图通过将“尺寸”中的 Y 参数设置为 0 来使文本换行到下一行。但是文本不会换行。但是,如果我将其设置为其他正值,例如“100”,它确实会换行。

这种行为在整个网络上都有记录。这是其中一篇文章: http: //www.cocos2d-x.org/projects/cocos2d-x/wiki/How_does_CCLabelTTF_support_line_breaks_and_wrapping

CCLabelTTF *distrDescLabel = [CCLabelTTF labelWithString:@"Nullam id dolor id nibh ultricies vehicula ut id elit."
                                                      dimensions:CGSizeMake(director.screenSize.width - 20, 0) 
                                                      hAlignment:UITextAlignmentLeft 
                                                   lineBreakMode:UILineBreakModeWordWrap 
                                                        fontName:@"Helvetica" 
                                                        fontSize:16.0f];

我正在使用 XCode 4.3.3 和 Kobold2D 2.0.1 并在 iOS 模拟器和 OS X 应用程序下运行示例。在这两种情况下,结果是相同的。

任何人都可以验证这是一个错误吗?

4

2 回答 2

0

对于 CCLabelTTF 标签的自动高度,我使用了这个简单的例程:

while (label.contentSizeInPoints.height > targetHeight) {
    label.fontSize = label.fontSize-0.5;
}

不要广泛使用它,因为 CCLabelTTF 标签在每个循环中都会完全重新计算。

希望它会帮助某人

于 2016-02-11T10:39:56.117 回答
-1

在 cocos2d-iphone 中没有自动换行支持。链接指向 cocos2d-x,我想他们添加了自己的解决方案。

在 cocos2d-iphone 中,您必须分解字符串,然后显示多个标签,每行一个。

于 2012-07-12T21:17:31.723 回答