Tag Archives: UILabel

[NGUI] Tutorial Step 5 – Label

사용자 삽입 이미지
사용자 삽입 이미지1. 이전에서 해왔듯이 Panel 게임 오브젝트를 선택하고 위젯 마법사에서 Label 템플릿을 선택하여 추가해 줍시다.
2. “Add To” 버튼을 클릭한 후 라벨이 선택된채로 추가됩니다. 만약 “Add To”버튼이 회색이라면 Font가 선택되지 않은것입니다. “SciFi Font – Header”를 추가해 줍시다.
3. Inspector 윈도우에서 새로 추가한 UILabelText 필드에 문자를 입력해 봅시다. 예를 들어 “Hello World”
4. 라벨의 위치를 0, 234, 0으로 이동합시다. 타이틀바처럼 보이도록 이동합니다.
사용자 삽입 이미지이번엔 “SciFi Font – Normal”폰트를 선택해 또다른 UILabel을 만들어 줍시다. 문자열 내에서 색상을 지정해 줄 필요가 있을때가 있는데 문자열 중간에 RrGgBb형태의 Hex 컬러 코드(포토샵등에서 바로 복사하여 사용)를 집어넣어 변경할 수 있습니다. 대괄호를 사용하여 빨간색은 [FF0000]과 같이 표현할 수 있습니다. 색상을 되돌리기 위해서는 바로 앞에 [-]을 넣어주면 됩니다.

다른 두개의 폰트가 같은 재료(UI Atlas)를 사용하므로 전체적인 씬을 그릴때 여전히 1번의 Draw요청만으로 충분하게 됩니다. 완료된 화면은 다음과 같습니다.
사용자 삽입 이미지

참고 : http://www.tasharen.com/?page_id=213

[iPhone] 컨텐츠의 사이즈에 맞추어 UILabel 크기 변경하기

기존의 글에서 UILabel을 이용하여 컨텐츠를 보여주는 다양한 방법에 대해 이야기 하였습니다.

두줄 이상을 표시하기
문자열 크기에 맞추어 UILabel frame 크기 변경하기

하지만 위의 링크에서 두번째 글의 경우에는 특정한 상황에서 매우 비정상적인 결과를 보여줍니다.

방법을 찾다 보니 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”;
   
    UIFont *stringFont = [UIFont boldSystemFontOfSize:15.0f];
    CGSize stringSize = [string sizeWithFont:stringFont constrainedToSize:CGSizeMake(280.0f, 60.0f) lineBreakMode:UILineBreakModeWordWrap];
   
    UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20.0f, 50.0f, stringSize.width, stringSize.height)];
    [label setFont:stringFont];
    [label setText:string];
    [label setNumberOfLines:0];
    [label setLineBreakMode:UILineBreakModeWordWrap];
   
    [window addSubview:label];
    [label release];
   
    [window setBackgroundColor:[UIColor blackColor]];
    [window makeKeyAndVisible];
}[/code]

바로 sizeWithFont:constrainedToSize:lineBreakMode 를 사용하는 것인데요. 가장 좋은 결과를 보여주더군요.
사용자 삽입 이미지constrainedToSize에서 정의한 크기가 최대 제한 사이즈가 되며 그것을 넘어가게 되면 자동으로 줄바꿈이 일어납니다.
1393999463.zip