注意:本文翻译时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超过允许长度的时候应该怎么处理。
spacing域可以让你调整字符间的距离。正负数都可以,单位是像素。
Max Line,像之前提到的,可以让你控制你最大想要多少行。0的话是不限制。
你可以关闭Encoding,如果你不需要处理颜色标签和情感符。Input输入框默认关闭这个。
如果你愿意,你也可以通过指定顶部和底部颜色来让标签渐变。
你可以让你的文本有阴影或外边框效果,不过注意,阴影会增加双倍几何,而外边框则是5倍。——所以请小心使用这个特性。distance参数控制了影子或外描边距离源文本多远,单位像素。
为了在运行时修改label的文本,你能这么做:
UILabel lbl = GetComponent();
lbl.text = "hello world";
[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();
string url = lbl.GetUrlAtPosition(UICamera.lastHit.point);
Debug.Log("Clicked on: " + url);
}
http://tasharen.com/ngui/docs/class_u_i_label.html