我正在开发 Unity3D 游戏,在更新到 5.4 版后,我注意到多行 InputField 的行为很奇怪。它停止正确滚动文本。当文本长度超过输入区域中显示的长度,并且您继续输入时,它不会像以前那样向下滚动。您可以键入,并且在转到另一行之前,文本是不可见的。当您转到下一行时,您已完成的行会出现,但“新的最后一行”是隐藏的。

除了在文本末尾强制使用空\n 之外,您知道如何解决这个问题吗?

以下是我使用的输入字段的详细信息(尽管我已经使用编辑器创建的全新 InputField 复制了该问题):
内容类型:标准
行类型:多行换行
字符限制:0(增加到 1000 不会改变任何东西)

相关文本参数:
水平溢出:环绕
垂直溢出:截断

编辑:
显然,在到达新行后关注文本的正确行不是问题,而是输入字段不知道何时显示下面的行。在文本中上下移动光标也会导致此问题。

编辑2:
我尝试启动 ForceLabelUpdate 和 Rebuild onValueChanged,但问题仍然存在。

最佳答案

所以答案是去掉Unity InputField 内置的糟糕透顶,用TextMesh Pro 代替:
https://www.assetstore.unity3d.com/en/#!/content/17662

最新版本支持 InputField 并且它不是基于 UnityUI,就像商店中可用的其他插件一样,也受此错误影响。

关于Unity3D v5.4 : InputField not showing last line of text,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38877357/

10-12 00:40