1. 이전에서 해왔듯이 Panel 게임 오브젝트를 선택하고 위젯 마법사에서 Label 템플릿을 선택하여 추가해 줍시다. 2. “Add To” 버튼을 클릭한 후 라벨이 선택된채로 추가됩니다. 만약 “Add To”버튼이 회색이라면 Font가 선택되지 않은것입니다. “SciFi Font – Header”를 추가해 줍시다. 3. Inspector 윈도우에서 새로 추가한 UILabel의 Text 필드에 문자를 입력해 봅시다. 예를 들어 “Hello World” 4. 라벨의 위치를 0, 234, 0으로 이동합시다. 타이틀바처럼 보이도록 이동합니다. 이번엔 “SciFi Font – Normal”폰트를 선택해 또다른 UILabel을 만들어 줍시다. 문자열 내에서 색상을 지정해 줄 필요가 있을때가 있는데 문자열 중간에 RrGgBb형태의 Hex 컬러 코드(포토샵등에서 바로 복사하여 사용)를 집어넣어 변경할 수 있습니다. 대괄호를 사용하여 빨간색은 [FF0000]과 같이 표현할 수 있습니다. 색상을 되돌리기 위해서는 바로 앞에 [-]을 넣어주면 됩니다.
다른 두개의 폰트가 같은 재료(UI Atlas)를 사용하므로 전체적인 씬을 그릴때 여전히 1번의 Draw요청만으로 충분하게 됩니다. 완료된 화면은 다음과 같습니다.
하지만 위의 링크에서 두번째 글의 경우에는 특정한 상황에서 매우 비정상적인 결과를 보여줍니다.
방법을 찾다 보니 sizeWithFont 메서드가 문제가 있는 메서드이더군요.
다음의 방법을 사용하는것이 가장 확실한 방법인듯 합니다.
[code]- (void)applicationDidFinishLaunching:(UIApplication *)application { NSString *string = @”I have a very beautiful girl-friend. but she is not love me after last weekend.\nI love her”;
바로 sizeWithFont:constrainedToSize:lineBreakMode 를 사용하는 것인데요. 가장 좋은 결과를 보여주더군요. constrainedToSize에서 정의한 크기가 최대 제한 사이즈가 되며 그것을 넘어가게 되면 자동으로 줄바꿈이 일어납니다. 1393999463.zip