3.11.1中EditBox的问题,有人遇到过吗?

最近在弄多行文本输入,发现一些比较严重的问题:
1)为了尽可能多的显示文本行,我把EditBox的输入框尺寸设定为 屏幕宽和一半屏幕高。位置置于屏幕的顶端,本来想像的输入效果应该是,从上面开始输入,一直到最下端后,开始把前面的文字向上顶。但是实际效果是,光标直接出现在最底端一行,输入也一直在最底端一行,文字逐渐往上顶,感觉很奇怪,因为上面一大片空白。当关闭键盘后,文字突然回到顶端显示,点击编辑时又和之前一样,不知道怎么弄才能自顶向下的输入和编辑,郁闷了。
2)有时录入编辑是正常的,但关闭软键盘后,文字居然不见了。但是点编辑后,文字又显示出来了。这个现象不是每次都出现,而是时不时的出现。

希望大家指点一下,如何搞!

你测试的平台是 windows 吧? 目前 windows 平台的 EditBox 实现比较差,功能不是很完整。

第二个问题是在 Android 上面出现吗?

我测试都是在android真机上进行的,小米note,最新的miui8.1 ,第二个问题我也发现原因了,是文字输多以后,Label就显示不出来了(100多百字)。Label的生成方式采用的是高度自适应的方式,即只设置宽,高度为0的方式。 ios还没测,效果还不知道。

输入时是从中间开始的,之前EditBox用了一个透明的图片,没注意到这个细节


确认关闭软件盘后,文字回到了顶部显示

继续编辑文字录入更多的文字,此时输入是正常的,显示也没有问题。

确认关闭软件盘后,文字居然消失不见了,此时若在点击进入编辑状态,文字又能正常显示出来。

我把相同长度的文字用Label来输出后发现,Label也没有显示,所以我想这两个可能是同一个问题。

@zilong 请帮忙分析一下,谢谢!

请问是如何关闭软键盘,是程序关闭,还是手动关闭的。EditBox输入模式为多行时,按回车键键不能关闭软键盘吧。

就是按的软键盘上的回车就可以关闭软软键盘了,测试机器是小米note,软键盘就是小米自带的软键盘,我没有安装过其它的。我的editbox参数设置为:
Size editboxSize = Size(visibleSize.width - 40 - 40, visibleSize.height / 2);
std::string pNormalSprite = “transparentfill_c.png”;
auto editText = ui::EditBox::create(editboxSize, pNormalSprite, ui::Widget::TextureResType::LOCAL);
editText->setFont(“fonts/arial.ttf”, 40);
editText->setFontColor(Color3B(51, 51, 51));
editText->setMaxLength(200);
editText->setText("");
editText->setReturnType(ui::EditBox::KeyboardReturnType::DONE);
editText->setInputFlag(ui::EditBox::InputFlag::SENSITIVE);
editText->setInputMode(ui::EditBox::InputMode::ANY);
editText->setDelegate(this);
this->addChild(editText, 5);
editText->setAnchorPoint(Vec2(0.0f, 0.0f));
editText->setPosition(Vec2(40, visibleSize.height / 2));

ios上多行模式,不能做到按回车就关闭了

现在的问题是,怎么弄才能从上往下输入,现在这样看着有点奇怪。另外在win7里测试,怎么输都能显示出来,为啥在android真机里输100字左右就显示不出来了呢,机器内存也有2个G,不算很小了呀。

建议你试试即将发布的 3.14 版本,我有改进Android 多行输入的时候,文字默认对齐是居上对齐。

至于第二个问题,因为带有机率性质,我现在根本没办法复现。。。

微信公众号回复我的是周二更新3.14
然而到现在也没看到更新。。。:sweat:

谢谢回复,期待3.14版本的发布,到时我会去试试的。至于Label不显示的问题,我后面准备做个独立的测试应用放到多个设备去试试,看看是不是随机出现的。