Unity进阶干货之 Text文本域文本和文本框自适应方案

能完美内容存在溢出的情况
方案非常之简单
如果你看不懂,那么你可以看看我往期的基础内容,打好基础先

我们有以下文本和文本框,如果要做文本框自适应文本长度,该如何处理呢?
在这里插入图片描述
步骤:
1.首先处理文本,我们给文本添加Content Size Fitter组件,固定它的宽先,然后让它的高随着文本长度适应。
在这里插入图片描述
2.第二步要处理文本框。文本框也先暂定锁宽,添加Content Size Fitter组件和Vertical Layout组件,两个组件组合使用。添加两个gameobject组件撑高文本框的高。
在这里插入图片描述
这个时候我们的文本框就随着文本自适应高了;
我们会发现,这样还不是很完美,因为我们锁宽了,如果文本只有一点点,那不是会显得很空?
这个时候我们就需要利用脚本了。

3.脚本献上
这里涉及到两个知识点:
text 的api:preferredWidth
RectTransform的api:SetSizeWithCurrentAnchors
两个api作用是什么,就需要自行去百度了。很多解释的很清楚了,就不在这里啰嗦了。

local tipText = tipsFrameTrans:GetChild(1).gameObject:GetComponent(typeof(Text))
local tipsTextRectTrans = tipsFrameTrans:GetChild(1).gameObject:GetComponent(typeof(RectTransform))
tipText.text = text
if tipText.preferredWidth > 200 and tipText.preferredWidth < 360 then
	tipsTextRectTrans.SetSizeWithCurrentAnchors(RectTransform.Axis.Horizontal, tipText.preferredWidth);
end

然后将你文本框的Content Size Fitter组件的宽设置也打开
在这里插入图片描述
OK,打完收工。理论上这个时候你的文本框就随着你的文本大小自适应了。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity是一个跨平台的游戏开发引擎,可以开发2D和3D游戏。在Unity,可以使用代码编写脚本以实现各种功能。如果想要根据文本域的文字提示,可以通过以下步骤实现。 首先,需要在场景创建一个文本域UI元素,可以使用Unity提供的UI组件来完成。在Canvas添加一个Input Field元素,该元素可以接收用户输入内容。 接下来需要编写代码,通过获取Input Field文本,根据文本内容来进行相应的提示。可以在脚本使用Unity提供的UI组件Text来显示提示信息。 在代码,可以通过获取Input Field组件text属性来获取用户输入的文本。然后,可以根据文本内容进行条件判断,判断输入的文本是否符合要求,如果不符合则显示相应的提示信息。 例如: ```csharp using UnityEngine; using UnityEngine.UI; public class TextPrompt : MonoBehaviour { public InputField inputField; public Text promptText; public void CheckInputText() { string inputText = inputField.text; if (inputText == "abc") { promptText.text = "输入正确"; } else { promptText.text = "输入错误,请重新输入"; } } } ``` 在上述代码,首先获取了inputField的文本内容,然后进行了一个简单的判断,如果输入的文本为"abc",则显示"输入正确",否则显示"输入错误,请重新输入"。 最后,在Unity编辑器将该脚本挂载到Input Field所在的GameObject上,然后将inputField和promptText分别拖拽到对应的变量。 这样,当用户在文本域输入文字时,Unity会根据输入的文本内容进行判断,并显示相应的提示,以便用户了解输入是否正确。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lq1340817945

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值