在下面的代码中,我试图通过将“dimensions”中的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应用程序下运行示例。在这两种情况下,结果都是一样的。
有人可以验证这是一个错误吗?
答案 0 :(得分:0)
对于CCLabelTTF标签的自动高度,我使用了这个简单的例程:
while (label.contentSizeInPoints.height > targetHeight) {
label.fontSize = label.fontSize-0.5;
}
不要广泛使用它,因为每次循环都会完全重新计算CCLabelTTF标签。
希望它会帮助某人
答案 1 :(得分:-1)
在cocos2d-iphone中没有自动换行支持。该链接指向cocos2d-x,我想他们已经添加了自己的解决方案。
在cocos2d-iphone中,您必须分解字符串,然后显示多个标签,每行一个。