在CLAMP或SHRINK模式下,Label的node的宽度应为预设值。
但在原生平台(ios)下测试,把Label的文本设置为空字符串时,取出来的Label节点的宽度为零;进一步测试发现,只要把文本设置为一个空格,取出来的宽度就是预设值。因此,可以断定原生平台上,应该是在Label长度为零时,跳过了CLAMP或SHRINK模式的某些代码。
这个bug,通常不易察觉。但当把Label放进Layout下进行排版,就会在Label内容为空时导致排版混乱。
临时解决办法:当Label的文本为空时,将其设置成一个空格。
再求教一个问题,在原生平台下,比如ios的xcode环境下,能否像浏览器中那样对js代码进行调试。
之前都是在web环境下开发,各种调试便利。最近开始在ios上测试,才发现两边会有些不一致,调试起来极其痛苦,目前只会用cc.log来调试,效率简直无语啊!
- Creator 版本:1.6.2
- 目标平台: ios
- 重现方式:将Label的Overflow属性设置为CLAMP或SHRINK,并将string属性设置为空字符串"",然后取Label.node.width的值为零。
- 出现概率:100%