需求分析
在之前的文章中,介紹到可以使用UGUI自帶的ContentSizeFitter組件,進行Button根據Text的長度自適應, UGUI ContentSizeFitter之Button根據Text自適應
但它有個限制:Text需要作為Button(Image)的子節點
因為ContentSizeFitter的計算是根據Child的實際寬度進行動態調整的
今天我寫的這個組件原理是一樣的,不過它不需要Text作為Image的子節點
實現效果
搭建步驟
1、創建一個Image和Text,他們可以是平級的,如下所示:
2、給Image添加ImageFitterText組件
TargetText:要根據Text的大小自動適應,這里把上面的Text賦值給TargetText
Size Offset:x表示左右 ,y表示上下 ,值表示空白值,就是說圖片比Text大多少A
Adjuest Text Setting:對Text使用建議的設置,主要是修改Text的TextAlign為水平上下居中
Exceute:在Editor下修改完組件屬性值時,點擊它可以及時看到效果
3、修改Text的值,就可以實時查看到效果
組件源碼
組件:https://github.com/zhaoqingqing/UGUIDemo/blob/master/Assets/Components/ImageFitterText.cs
Demo:https://github.com/zhaoqingqing/UGUIDemo/tree/master/Assets/Components/Demo/ImageFitterText