最近发现:使用了Quick-cocos2dx 2.2.6中的CCLabelTTF来显示一段文字时,如果该段文字有多处换行的(即文本内容里面自带多处换行符\n),则会出现一个奇怪的问题—在android与pc机上跑时,文本能够全部显示出来,但在ios或ipad上跑时则有时出现最后一两行文字不显示的现象,且这现象是没有规律的。
代码调用是类似这样写的:
local txtNode = ui.newTTFLabel({text=”这里是一段多行的要显示的文字”,size=18,x=0,y=0,align= ui.TEXT_ALIGN_LEFT,valign= ui.TEXT_VALIGN_TOP})
然后将该节点添加到指定节点上,
zhidingNode:addChild(txtNode)
测试了多个不同的文本,其中有些文本在ios或ipad上都会出现显示不全的情况。
local w = 指定的宽
local h = 指定的高
local txtNode = ui.newTTFLabel({text=”这里是一段多行的要显示的文字”,valign= ui.TEXT_VALIGN_TOP,dimensions = CCSize(w,h)})
这时再进行测试,发现无论是在ios或ipad或android或pc机上都能正确地显示出文本。
本人估计引起这个的问题的原因是该版本中的CCLabelTTF在ios或ipad下运行时自动计算这个dimensions的时候有所偏差,使文本显示内容不能全部包含在内。
手动设置这个dimensions并不是一个好的方案,但也算能解决问题。-_-