注意:本文翻譯時NGUI版本已經更新到3.0.7
原文地址:http://www.tasharen.com/forum/index.php?topic=6706
總覽
UILabel是能用於顯示文本的掛件。
所有Label需要一個字體才能正常工作。這個字體可以是動態的(Dynamic)(直接引用Unity字體),或者是一個位圖字體--嵌入在圖集中的字體。Dynamic字體更具魯棒性,因爲他們不需要你預先生成字形,但位圖字體能作爲你圖集的一部分在相同的draw call內繪製,而且能使用像Photoshop此類的編輯工具製作精美的字體。
你能通過改變label的軸心點來改變它的對齊方式。Top-left,Left和Bottom-Left軸心點將導致文本左對齊。Top,Center或Bottom將使文本居中對齊。Top-Right,Right或Bottom-Right將讓你的文本右對齊。
對於動態字體,你可以在你的label上直接設置字體大小和樣式。如果你需要的話,你也能設置將使用繪製的材質。
那個大框--正如你猜的那樣--就是你輸入文本的地方。它默認使多行的文本,除非你限制了最大的行數。
Overflow處理讓你決定當label的text超過允許長度的時候應該怎麼處理。
- Shrink Content 意味着內容會自動被縮小以便適應區域。它在你使用動態字體的同時使用Keep Crisp設置時有效,讓字體變小,而不是縮放內容。
- Clamp Content簡單意味着如果文本沒有適應,就直接截斷。
- Resize Freely選項讓label的大小通過文本來控制。你不能自己修改大小。
- 最後的選項,Resize Height將在必要的時候增加label的高度,但會保持寬度是常量。
spacing域可以讓你調整字符間的距離。正負數都可以,單位是像素。
Max Line,像之前提到的,可以讓你控制你最大想要多少行。0的話是不限制。
你可以關閉Encoding,如果你不需要處理顏色標籤和情感符。Input輸入框默認關閉這個。
如果你願意,你也可以通過指定頂部和底部顏色來讓標籤漸變。
你可以讓你的文本有陰影或外邊框效果,不過注意,陰影會增加雙倍幾何,而外邊框則是5倍。——所以請小心使用這個特性。distance參數控制了影子或外描邊距離源文本多遠,單位像素。
爲了在運行時修改label的文本,你能這麼做:
UILabel lbl = GetComponent<UILabel>();
lbl.text = "hello world";
Pro-Tip #1
你能增加粗體,斜體,下劃線和其它效果到你的標籤。通過bbcode語法:[b]bold[/b]
[i]italic[/i]
[u]underline[/u]
[s]strikethrough[/s]
你也可以像下面這麼做在你的標籤中來嵌入可點擊鏈接:
[url=Some Message or Link]Click Me[/url]
void OnClick ()
{
UILabel lbl = GetComponent<UILabel>();
string url = lbl.GetUrlAtPosition(UICamera.lastHit.point);
Debug.Log("Clicked on: " + url);
}
Pro-Tip #2
你也可以通過給標籤指定一個暗的前景色和一個明亮的影子效果讓標籤看起來是斜切的。類文檔
http://tasharen.com/ngui/docs/class_u_i_label.html
如果你有一些和這個組件相關的問題,也可以在下面討論。