2013-03-22 3 views
0

동적으로 채우는 UIGrid의 반복 항목 역할을하는 게임 개체를 만들었습니다. gameobject (RowItem)에는 내용에 따라 런타임에 텍스트가 변경 될 수있는 몇 개의 UILabel이 있습니다. 텍스트가 더 커지면이 UILabels의 내용이 겹칩니다. 텍스트가 더 많거나 적은 경우 UILabel을 인접 UILabel에 상대적으로 확장하는 방법에 대해 아무도 도와 줄 수 있습니까?게임 개체의 상대 UILabel

답변

0

UILabel 속성의 transform.localScale 속성을 사용하여 크기를 조절할 수 있습니다. 텍스트가 20자를 초과한다고 할 때 커지면됩니다. 임의의 값으로 시도하십시오.
또한 눈금을 변경할 때 레이블이 겹치지 않도록 다른 레이블을 정렬하는 다시 정렬 방법을 실행하십시오.

+0

코드 샘플을 제공 할 수 있습니까? –

+0

먼저 직접 사용해보십시오. 어떤 문제가 발생하면 도와 드리겠습니다. 코드 샘플을 묻는 방법에 대한 지침은 http://meta.stackexchange.com/questions/167597/pure-code-asking-question-how-should-the-be-flagged를 참조하십시오. – noob

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를 기반으로하므로 오타가 아니므로 텍스트가 얇아지지 않습니다.

희망 사항.