******
******
void RichText::formarRenderers()
{
if (_ignoreSize)
{
float newContentSizeWidth = 0.0f;
float newContentSizeHeight = 0.0f;
Vector* row = (_elementRenders);
float nextPosX = 0.0f;
for (ssize_t j=0; jsize(); j++)
{
Node* l = row->at(j);
l->setAnchorPoint(Vec2::ZERO);
l->setPosition(nextPosX, 0.0f);
_elementRenderersContainer->addChild(l, 1);
Size iSize = l->getContentSize();
newContentSizeWidth += iSize.width;
newContentSizeHeight = MAX(newContentSizeHeight, iSize.height);
nextPosX += iSize.width;
}
_elementRenderersContainer->setContentSize(Size(newContentSizeWidth, newContentSizeHeight));
}
else
{
float newContentSizeHeight = 0.0f;
float *maxHeights = new float;
for (size_t i=0; i<_elementRenders.size(); i++)
{
Vector* row = (_elementRenders*);
float maxHeight = 0.0f;
for (ssize_t j=0; jsize(); j++)
{
Node* l = row->at(j);
maxHeight = MAX(l->getContentSize().height, maxHeight);
}
maxHeights* = maxHeight;
newContentSizeHeight += maxHeights*;
}
this->_customSize.height=newContentSizeHeight;//------------------添加的第一行------------------
float nextPosY = _customSize.height;
for (size_t i=0; i<_elementRenders.size(); i++)
{
Vector* row = (_elementRenders*);
float nextPosX = 0.0f;
nextPosY -= (maxHeights* + _verticalSpace);
for (ssize_t j=0; jsize(); j++)
{
Node* l = row->at(j);
l->setAnchorPoint(Vec2::ZERO);
l->setPosition(nextPosX, nextPosY);
_elementRenderersContainer->addChild(l, 1);
nextPosX += l->getContentSize().width;
}
}
_elementRenderersContainer->setContentSize(_contentSize);
delete ] maxHeights;
}
size_t length = _elementRenders.size();
for (size_t i = 0; i<length; i++)
{
Vector* l = _elementRenders*;
l->clear();
delete l;
}
_elementRenders.clear();
if (_ignoreSize)
{
Size s = getVirtualRendererSize();
this->setContentSize(s);
}
else
{
this->setContentSize(_customSize);
}
updateContentSizeWithTextureSize(_contentSize);
_elementRenderersContainer->setContentSize(_contentSize);//------------------添加的第二行------------------
_elementRenderersContainer->setPosition(0, 0);//------------------修改这行------------------
//最后这行原来是 _elementRenderersContainer->setPosition(_contentSize.width / 2.0f, _contentSize.height / 2.0f);
}
******
```
***********
******详细介绍可以看我的博客:http://blog.csdn.net/qq446569365/article/details/41891549******
*
改的好。改的好。改的好。