0
매개 변수 numberOfLines를 2로 설정 한 UILabel이 있습니다.이 중 하나에서 2 개의 UIlabels을 만들고 싶습니다. 첫 번째 줄은 첫 번째 줄이고 두 번째 줄은 두 번째 줄이됩니다. 그것을 만들 수있는 방법이 있습니까?UILabel의 첫 번째 줄을 선택할 수 있습니까?
매개 변수 numberOfLines를 2로 설정 한 UILabel이 있습니다.이 중 하나에서 2 개의 UIlabels을 만들고 싶습니다. 첫 번째 줄은 첫 번째 줄이고 두 번째 줄은 두 번째 줄이됩니다. 그것을 만들 수있는 방법이 있습니까?UILabel의 첫 번째 줄을 선택할 수 있습니까?
이 솔루션에서 나는 적어도 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];
}
레이블의 텍스트는 여전히 하나의 문자열로 저장됩니다. 각 줄에서 렌더링되는 텍스트는 일부 그래픽 요소를 기반으로 Apple UI 프레임 워크에 의해 결정됩니다. 'numberOfLines'는 라벨 텍스트를 두 개의 분리 된 단위로 분리하는 것이 아니라, 사용할 최대 라인 수입니다. – Dustin