UILabel을 이용하여 문자를 표시하다 보면 이상한 점이 있습니다.
바로 \n(New line)을 사용하여도 줄바꿈이 되지 않는다는 점인데요, Frame의 세로 크기를 아무리 늘려도 다음과 같이 나올 뿐입니다.
[code]- (void)applicationDidFinishLaunching:(UIApplication *)application {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20.0f, 40.0f, 280.0f, 150.0f)];
[label setText:@”Battle Cruiser Operational\nWho wanna piece a meat boy?”];
[window addSubview:label];
[label release];
[window makeKeyAndVisible];
}[/code]
Who 앞에 분명히 \n이 들어가 있지만 줄바꿈이 일어나지 않습니다. 그리고 문자열이 …으로 줄어들어 버리는군요.
이때에는 NumberOfLine과 LineBreakMode를 설정하여 바꿔줍니다. NumberOfLine의 경우 최대 몇줄로 표시할 수 있는지에 대한 설정입니다.
0으로 하면 제한이 없이 Frame의 한계까지 줄이 늘어나게 됩니다.
LineBreakMode를 WordWrap으로 해주면 인위적인 줄바꿈 없이도 길이가 늘어나 Frame의 가로 영역보다 길어지게 되면 자동으로 줄바꿈이 일어나게 됩니다.
[code]- (void)applicationDidFinishLaunching:(UIApplication *)application {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(20.0f, 40.0f, 280.0f, 150.0f)];
[label setText:@”Battle Cruiser Operational\nWho wanna piece a meat boy?”];
[label setNumberOfLines:0];
[label setLineBreakMode:UILineBreakModeWordWrap];
[window addSubview:label];
[label release];
[window makeKeyAndVisible];
}[/code]