关于Label的函数:setText的问题

void Label::setText(const std::string& text)
{
if (text.size()==0)
return;

_labelRenderer->setString(text.c_str());
labelScaleChangedWithSize();

}
以上是源码

问题:
在设计器里LABEL设置了文字。如果我想把内容清空,我之前是用Label::setText("");
现在就不管用了。这个属于BUG么?

目前是手工改源码修复了这个问题

目前这个版本确实有问题,需要设置渲染节点的string值才可以

下面是一个方法,这个方法可以保证未来更新时也不失效:

static_cast<CCTextFieldTTF*>(textField->getVirtualRenderer())->setFontFillColor(ccc3(255, 0, 0));
static_cast<CCTextFieldTTF*>(textField->getVirtualRenderer())->setColorSpaceHolder(ccc3(127, 127, 127));

— Begin quote from ____

引用第1楼hanrea于2014-01-17 16:45发表的 回 楼主(flysec) 的帖子 :
目前这个版本确实有问题,需要设置渲染节点的string值才可以

下面是一个方法,这个方法可以保证未来更新时也不失效:

static_cast<CCTextFieldTTF*>(textField->getVirtualRenderer())->setFontFillColor(ccc3(255, 0, 0));
http://www.cocoachina.com/bbs/job.php?action=topost&tid=181463&pid=876560

— End quote

版主。如果已经设置了文字的Label要清空,用这个办法不行吧,这只是设置placeholder的
在settext("")的时候直接return了

settext(" ")我这样做

— Begin quote from ____

引用第3楼jume2003于2014-01-19 00:49发表的 :
settext(" ")我这样做 http://www.cocoachina.com/bbs/job.php?action=topost&tid=181463&pid=877111

— End quote

碉堡了!

settext(" ")

+1

好吧~~空格···:10:不过大家放心吧,下个版本会修复这个问题的。