找回密码
 注册帐号

扫一扫,访问微社区

UGUI Text的Best Fit问题

13
回复
1055
查看
[ 复制链接 ]
5熟悉之中
592/1000
排名
6019
昨日变化

8

主题

78

帖子

592

积分

Rank: 5Rank: 5

UID
136045
好友
0
蛮牛币
77
威望
0
注册时间
2016-2-1
在线时间
278 小时
最后登录
2019-3-14
2019-3-4 15:49:35 显示全部楼层 阅读模式
10蛮牛币
本帖最后由 abcnm123456 于 2019-3-4 15:55 编辑

问题应该是unity将一串中文字当成同一个字来处理
我想用best fit做到图2的效果...
谢谢大家

asdasdas..png
022020202.png
回复

使用道具 举报

6蛮牛粉丝
1188/1500
排名
2037
昨日变化

1

主题

142

帖子

1188

积分

Rank: 6Rank: 6Rank: 6

UID
126588
好友
0
蛮牛币
4494
威望
0
注册时间
2015-10-24
在线时间
373 小时
最后登录
2019-3-21
2019-3-4 15:49:36 显示全部楼层
abcnm123456 发表于 2019-3-6 11:53
如果设定最小字体就会有文字显示不到

如果没其他方法就只能如此了

嗯,早上测试了一下,bestFIt是以水平方向的最多字数来做字体缩放的,当文字超过一行的时候缩小字体,直到最小值,然后再进行换行。
如果要实现你的效果,我想到的一个方法是给文本框加ContentSizeFitter,VerticalFit设置为PreferredSize,给文本框进行赋值的时候,获取文本框的实际大小,如果超过预定的大小就将字体大小减1,重复进行这个判断,直到文本框大小符合要求
[发帖际遇]: 易玄风 捡了钱没交公 蛮牛币 降了 3 . 幸运榜 / 衰神榜
回复

使用道具 举报

3偶尔光临
154/300
排名
16952
昨日变化

1

主题

42

帖子

154

积分

Rank: 3Rank: 3Rank: 3

UID
132228
好友
0
蛮牛币
121
威望
0
注册时间
2015-12-21
在线时间
71 小时
最后登录
2019-3-8
2019-3-4 17:42:40 显示全部楼层
不用选择Best fit,把Text  添加 ContentSizeFitter 组件,拉伸Text宽度到自己需要的宽度然后 virticalFit 选择Preferred Size 就可以了
回复

使用道具 举报

5熟悉之中
592/1000
排名
6019
昨日变化

8

主题

78

帖子

592

积分

Rank: 5Rank: 5

UID
136045
好友
0
蛮牛币
77
威望
0
注册时间
2016-2-1
在线时间
278 小时
最后登录
2019-3-14
楼主 2019-3-4 18:20:41 显示全部楼层
本帖最后由 abcnm123456 于 2019-3-4 18:24 编辑

但用ContentSizeFitter会令文字穿过背景的图..
aaaaa333.png
回复

使用道具 举报

4四处流浪
331/500
排名
15906
昨日变化

5

主题

195

帖子

331

积分

Rank: 4

UID
313764
好友
0
蛮牛币
116
威望
0
注册时间
2019-2-13
在线时间
95 小时
最后登录
2019-3-21
2019-3-5 11:45:12 显示全部楼层


这样就好了啊
4L3)S4B3O1187`L8}ATLJ@M.png
[发帖际遇]: 一个袋子砸在了 Soulmatezoj 头上,Soulmatezoj 赚了 1 蛮牛币. 幸运榜 / 衰神榜
回复

使用道具 举报

5熟悉之中
592/1000
排名
6019
昨日变化

8

主题

78

帖子

592

积分

Rank: 5Rank: 5

UID
136045
好友
0
蛮牛币
77
威望
0
注册时间
2016-2-1
在线时间
278 小时
最后登录
2019-3-14
楼主 2019-3-5 14:13:52 显示全部楼层
但用ContentSizeFitter会令文字穿过背景的图..
回复

使用道具 举报

6蛮牛粉丝
1188/1500
排名
2037
昨日变化

1

主题

142

帖子

1188

积分

Rank: 6Rank: 6Rank: 6

UID
126588
好友
0
蛮牛币
4494
威望
0
注册时间
2015-10-24
在线时间
373 小时
最后登录
2019-3-21
2019-3-5 15:41:35 显示全部楼层
本帖最后由 易玄风 于 2019-3-5 15:46 编辑
abcnm123456 发表于 2019-3-5 14:13
但用ContentSizeFitter会令文字穿过背景的图..

是文字后面还有一张背景图,然后背景图也要随着文字扩大吗?是的话,将Text放在图片下面,给图片加个VerticalLayoutGroup和ContentSizeFitter,图片的ContentSizeFitter全部设置成PreferredSize,文字按照楼上设置就可以
[发帖际遇]: 易玄风 捡了钱没交公 蛮牛币 降了 2 . 幸运榜 / 衰神榜
回复

使用道具 举报

5熟悉之中
592/1000
排名
6019
昨日变化

8

主题

78

帖子

592

积分

Rank: 5Rank: 5

UID
136045
好友
0
蛮牛币
77
威望
0
注册时间
2016-2-1
在线时间
278 小时
最后登录
2019-3-14
楼主 2019-3-5 15:56:58 显示全部楼层
背景图是固定大小 不会变化
回复

使用道具 举报

6蛮牛粉丝
1188/1500
排名
2037
昨日变化

1

主题

142

帖子

1188

积分

Rank: 6Rank: 6Rank: 6

UID
126588
好友
0
蛮牛币
4494
威望
0
注册时间
2015-10-24
在线时间
373 小时
最后登录
2019-3-21
2019-3-5 16:10:29 显示全部楼层
abcnm123456 发表于 2019-3-5 15:56
背景图是固定大小 不会变化

那穿过背景图是肯定会的,文字越多,文本框越大
如果是说会向上穿过的话,改下锚点
回复

使用道具 举报

5熟悉之中
592/1000
排名
6019
昨日变化

8

主题

78

帖子

592

积分

Rank: 5Rank: 5

UID
136045
好友
0
蛮牛币
77
威望
0
注册时间
2016-2-1
在线时间
278 小时
最后登录
2019-3-14
楼主 2019-3-5 16:17:18 显示全部楼层
所以才想用best fit 去解决
但用中文字 UNITY会当做是同一个字
如果用英文句字就没有这个问题 因为英文句字文字与文字中间会有"空格" 但中文句字不会有"空格"
回复

使用道具 举报

0

主题

10

帖子

10

积分

Rank: 1

UID
315609
好友
0
蛮牛币
0
威望
0
注册时间
2019-3-5
在线时间
0 小时
最后登录
2019-3-5
2019-3-6 00:12:04 显示全部楼层
increase the font size to a large number like 60 or 80 before checking the best fit check mark it will resolve the issue and the font will fit perfectly. This issue arise because your minimum font is set to 1 in the best fit section, dont know why unity does that.
回复

使用道具 举报

6蛮牛粉丝
1188/1500
排名
2037
昨日变化

1

主题

142

帖子

1188

积分

Rank: 6Rank: 6Rank: 6

UID
126588
好友
0
蛮牛币
4494
威望
0
注册时间
2015-10-24
在线时间
373 小时
最后登录
2019-3-21
2019-3-6 09:28:02 显示全部楼层
abcnm123456 发表于 2019-3-5 16:17
所以才想用best fit 去解决
但用中文字 UNITY会当做是同一个字
如果用英文句字就没有这个问题 因为英文句字 ...

我可能明白了,你是想要文本框固定大小,文字多的时候填充满文本框,文字非常多的时候还要自动减少字体大小是吧?
回复

使用道具 举报

5熟悉之中
592/1000
排名
6019
昨日变化

8

主题

78

帖子

592

积分

Rank: 5Rank: 5

UID
136045
好友
0
蛮牛币
77
威望
0
注册时间
2016-2-1
在线时间
278 小时
最后登录
2019-3-14
楼主 2019-3-6 11:51:23 显示全部楼层
易玄风 发表于 2019-3-6 09:28
我可能明白了,你是想要文本框固定大小,文字多的时候填充满文本框,文字非常多的时候还要自动减少字体大 ...

对呀                        
回复

使用道具 举报

5熟悉之中
592/1000
排名
6019
昨日变化

8

主题

78

帖子

592

积分

Rank: 5Rank: 5

UID
136045
好友
0
蛮牛币
77
威望
0
注册时间
2016-2-1
在线时间
278 小时
最后登录
2019-3-14
楼主 2019-3-6 11:53:13 显示全部楼层
ZubairSaqib 发表于 2019-3-6 00:12
increase the font size to a large number like 60 or 80 before checking the best fit check mark it wi ...

如果设定最小字体就会有文字显示不到

如果没其他方法就只能如此了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册帐号

本版积分规则