0

動的に入力する UIGrid の繰り返しアイテムとして機能するゲーム オブジェクトを作成しました。ゲームオブジェクト (RowItem) にはいくつかの UILabel があり、そのテキストはコンテンツに応じて実行時に変更できます。テキストが大きい場合、これらの UILabels のコンテンツはオーバーラップします。テキストが多い/少ない場合に、隣接する UILabel に対して UILabel を拡張する方法を教えてくれる人はいますか?

4

2 に答える 2

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);
}

Vector3 の 2 番目のパラメーターも relativeSize.x に基づいています。これはタイプミスではなく、テキストが細くならないようにします。

これがうまくいくことを願っています。

于 2013-03-25T06:50:37.250 に答える
0

transform.localScaleのプロパティのプロパティを使用UILabelしてスケーリングできます。テキストが 20 文字よりも大きい場合は、大きくしてください。任意の値で試してください。
また、縮尺を変更する場合は、他のラベルが重ならないように整列する re-align メソッドを実行します。

于 2013-03-22T08:35:29.343 に答える