2012-07-24 6 views
0

매개 변수 numberOfLines를 2로 설정 한 UILabel이 있습니다.이 중 하나에서 2 개의 UIlabels을 만들고 싶습니다. 첫 번째 줄은 첫 번째 줄이고 두 번째 줄은 두 번째 줄이됩니다. 그것을 만들 수있는 방법이 있습니까?UILabel의 첫 번째 줄을 선택할 수 있습니까?

+0

레이블의 텍스트는 여전히 하나의 문자열로 저장됩니다. 각 줄에서 렌더링되는 텍스트는 일부 그래픽 요소를 기반으로 Apple UI 프레임 워크에 의해 결정됩니다. 'numberOfLines'는 라벨 텍스트를 두 개의 분리 된 단위로 분리하는 것이 아니라, 사용할 최대 라인 수입니다. – Dustin

답변

2

이 솔루션에서 나는 적어도 2 줄의 UILabel을 가지고 있고 첫 줄 끝에 \n 문자가 있다고 가정했습니다.

UILabel *lbl = (UILabel *)[self.view viewWithTag:2]; 

NSString *firstString; 
NSString *secondString; 

NSRange foundRange = [lbl.text rangeOfString:@"\n"]; 
if (foundRange.location != NSNotFound) 
{ 
    foundRange.length = foundRange.location + 1; 
    foundRange.location = 0; 
    firstString = [[NSString alloc] initWithString:[lbl.text substringWithRange:foundRange]]; 
    secondString = [[NSString alloc] initWithString:[lbl.text stringByReplacingCharactersInRange:foundRange withString:@""]]; 

    NSLog(@"first line = %@", firstString); 
    NSLog(@"second line = %@", secondString); 
    [firstString release]; 
    [secondString release]; 
} 
관련 문제