TextMeshPro 输入字段 - 无法将占位符的换行设置为已启用?

TextMeshPro Input field - can't set placeholders' wrapping to enabled?

我正在尝试使用带有多行(环绕)占位符的 TMP 输入字段。输入字段的内容类型设置为 Integer Number。占位符文本有一些字符串作为文本,并且包装设置为“启用”。在预制编辑器中,它看起来不错(文本被换行)。但是,当场景加载时,占位符文本的换行立即重置为“已禁用”。

问题:我假设输入字段将子文本的换行重置为 disabled,因为它的内容不是多行的,如指定的那样 here。我无法将输入字段设置为接受多行 - 该选项不在检查器中;如果我切换到调试模式,我可以看到它,但是一旦我将它设置为多行,它就会切换回单行。那么,如何将占位符上的包装设置为启用,而不会在运行时切换回禁用状态?或者,我如何将 InputFiled 设置为多行(我假设这将修复占位符上的换行)?

我现在有: 我有一个像这样工作的输入字段:当它没有聚焦时,会有一个多行文本,例如:“在这里写 your\nnumber!”。当聚焦时,它被空行取代,用户可以输入一个整数。完成输入 (OnEndEdit) 后,我使用输入生成一些游戏对象,然后再次将文本替换为“Write your\nnumber here!”。编辑截图:

现在一切如我所愿。但是,现在我想动态更改占位符文本,所以我不知道换行符在哪里,我希望 TMP 为我换行文本,就像在启用换行的文本组件中一样。

那么:如何使用 TMP 的包装 - 在 InputField 上启用而不将其重置为禁用?无论是用户输入和占位符,还是仅占位符本身 - 都没有关系。

MultiLine 仅在 Content Type 设置为 StandardAuto Corrected 时可用。

一旦您将输入类型设置为 Integer Number,它基本上就像 Unity Inspector 中的整数字段一样:没有换行,而是过度浮动并向右滚动。

或者,如果您需要多行,您可以将 Content Type 设置为 Custom,然后完全灵活地根据您的需要进行调整,例如

  • 线型:多行换行
  • 行限制:0
  • 输入类型:标准
  • 键盘类型:默认
  • 字符验证:整数

一般来说:当然,您也不能将文本设置到只接受整数的输入字段;)而是在 Placeholder 对象中设置占位符文本!

只要输入字段中没有输入任何值,应用于 Placeholder 的任何内容都会自动显示!