2013-03-22 66 views
0

我創建了一個遊戲對象,它充當了動態填充的UIGrid的重複項。 gameobject(RowItem)有幾個UILabel,其文本可以在運行時根據內容而改變。當文字較大時,這些UILabel的內容會重疊。當文本更多/更少時,任何人都可以幫助我如何使UILabel相對於相鄰的UILabel展開?遊戲對象中的相對UILabel

回答

0

您可以使用UILabel屬性的transform.localScale屬性對其進行縮放。當文字大於20個字符時,讓它們變大一點。嘗試使用任意值。
另外,當您更改比例尺時,請運行重新對​​齊方法,該方法將其他標籤對齊以便它們不重疊。

+0

你能提供任何代碼示例嗎? – 2013-03-22 09:51:56

+0

先試試吧。如果你發現任何麻煩,我會幫忙的。有關詢問代碼示例的SO指南,請參閱此問題 - http://meta.stackexchange.com/questions/167597/pure-code-asking-question-how-should-these-be-flagged – noob 2013-03-22 10:57:17

0

您可以通過此獲得像素文本長度:

UILabel label; 
float width = label.relativeSize.x * label.transform.localScale.x; 
float height = label.relativeSize.y * label.transform.localScale.y; 

比方說,你想最大長度設置你100,你可以這樣做:

if (width > 100) 
{ 
    label.localScale = new Vector3(100/label.relativeSize.x, 100/ label.relativeSize.x, 1); 
} 

第二PARAM對於Vector3也是基於relativeSize.x不是錯字,這可以確保你的文字不會變薄。

希望這個工程。