m_context = Text::create(pContent,"",fontsize);
m_context->setAnchorPoint(Vec2(0,1.0));
//下面两句是重点
m_context->setTextAreaSize(Size(400, 0)); //宽度不限制
m_context->ignoreContentAdaptWithSize(false);
addChild(m_context);
首先编码问题,在VS中保存的文本之前是简体中文,改为utf-8(文件-高级保存选项)
但是如果输入的英文一个单词超过了一行的最大长度,或输入的一串没有空格,这个是不会换行,在PC端是不会换行,中文也不会换行,但是在Andriod会换行(这个高度就要设置了,但是有很多情况不知道高度的大小,如果显示固定的内容还好)。
或者是一个单词的宽度大于要显示的宽度,那这咯单词的后面会被截断,像这样,这就悲剧了
text->setText("abcdefghijklmnopq rst uvwx yz");
还有一种情况就是如果子啊字符串中有换行符\n,情况又会不一样。
text->setText("abcdefghi\njklmnopq rst uvwx yz");
但是在这里要注意,如果直接在cocosstdio里面的文本里修改加上\n是没有用的,为什么呢,来看看.json文件里面的text保存的文本是什么
"text": "abcdefghi\\njklmnopq rst uvwx yz", 这里变成了双斜杠
之前做输入框的时候需要换行,对于utf-8,堆输入的东西进行判断确定是否换行,参考
http://blog.sina.com.cn/s/blog_7c4f3b160101dv4p.html
http://www.cnblogs.com/chenwenbiao/archive/2011/08/11/2134503.html