Unity

您所在的位置:网站首页 文本框拉长 Unity

Unity

2023-12-12 19:29| 来源: 网络整理| 查看: 265

一.UGUI text框大小固定,里面字体大小随着文字增多逐渐变小的设置(很简单)

1.找到Text组件的Parageraph(段落)组件,在Horizontal Overflow和Vertical Overflow调整你想变化的轴

2.Best Fit的选项卡打开,默认是关闭的,设置最大和最小变化的字体大小。

以上即可完成固定输入框大小,字体变多,字体随着不断变小的情况了。

二.UGUI text框大小不固定,text框随着字数增加逐渐拉长但是字体的大小不变,无背景(需要用到Content Size Fitter组件)

1.这种方式需要用到Content Size Fitter组件,在Text上挂载Content Size Fitter组件

2.调节水平和竖直方向上的缩放方式。这个地方要注意的是Transform组件的Pivot,默认是(0.5,0.5),Content Size Fitter组件用来根据这个控制缩放,当为(1,0)只有Horizontal Fit组件在匹配,当为(0,1)时是VerticalFit匹配。图中的设置是竖直无限拉长的处理;

可以通过调节Pivot以及Content Size Fitter两个组件进行尝试调节你想要的效果

三.UGUI text框大小不固定,text框随着字数增加逐渐拉长字体的大小不变,有背景(需要用到Content Size Fitter和Vertical Layout Group组件)

1.在Text文本框的父物体上增加Content Size Fitter和Vertical Layout Group组件

2.在Text上同样增加如二中所示的Content Size Fitter组件

3.调节Vertical Layout Group组件,完成自动大小变化的调整。

最后:这几种调节方式,特别是在第三种情况下,当字体可能会无限增长,想要一定长度的换行就需要特殊的换行处理,可以通过对文本的截取,在一定长度内增加'\n'来换行。下面附上简单写的代码,可以用看来参考

    ///     /// 将str更换为带换行"/n"的输入框     ///     /// 需要转换的str     /// 带换行的Str     public static string GetNstring(string str)     {         string result = "";         int point = 0;         for (int i = 0; i < str.Length; i++)         {             if (point == 40)             {                               result += '\n';                 point = 0;             }             result += str[i];             point++;         }              return result;     }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3