iOS> 5.0 및 Xcode 4.6.2를 사용하는 앱을 개발 중입니다. 내 문제를 설명하기 위해 UILabel
묶음 만 포함 된 UIScrollView
입니다. 이 UILabel
에 표시 할 텍스트는 동적이지만 UILabel
의 프레임은 일정하므로 현재 텍스트가 프레임 너비에 맞지 않으면 글꼴 크기를 줄여야합니다. 그래서 adjustsFontSizeToFitWidth
속성은 UILabel
입니다.adjustsFontSizeToFitWidth가 제대로 작동하지 않습니다.
다음은 직접 UILabel
클래스 참조에서 가져온 설명입니다.
제목 문자열을 레이블의 경계 사각형에 맞추기 위해 글꼴 크기를 줄여야하는지 여부를 나타내는 부울 값입니다.
Yeap, 내가 정확히 UILabel
에 표시하려고하는 텍스트가 정확히 한 줄로 생각했습니다. 그래서이 속성은 numberOfLines
속성을 1로 설정해야 함을 알고 있습니다.
여기에 이런 일이 발생하는 코드가 있습니다.
for (NSString *currentImage in self.imagesNames)
{
UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(imageNumber*resultTypeImageWidth, 10, 75, 35)];
[lbl setFont:[UIFont fontWithName:@"GothamRounded-Bold" size:25]];
[lbl setNumberOfLines:1];
[lbl setText:currentImage];
[lbl setBackgroundColor:[UIColor clearColor]];
[lbl setTextColor:[UIColor colorWithHue:0.07 saturation:1 brightness:0.49 alpha:1.0]];
[lbl adjustsFontSizeToFitWidth];
[lbl setTextAlignment:NSTextAlignmentCenter];
imageNumber++;
[self.resultTypeScrollView addSubview:lbl];
}
imageNumber
내가 이름 resultTypeScrollView
내 UIScrollView
에 적절한 장소에서이 UILabel
의를 배치하는 사용 해요 INT입니다. resultTypeImageWidth
은 정의한 상수이고 UILabel
사이에 공백을주기 위해 100을 설정합니다.
내 문제는 텍스트가 레이블의 프레임에 맞지 않으면 잘라 버릴 수 있다는 것입니다. 텍스트가 프레임에 맞지 않으면 폰트 크기가 축소되어 프레임에 맞을 것으로 예상했습니다. 적어도, 그게 내가 이해할 수있는 것입니다. UILabel
class reference. 분명히, 나는 무엇인가 놓치고있다. 그러나 무엇?
지금까지
,- 내가 정의 글꼴을 사용하고 있듯이, 나는 사용자 정의 글꼴을 사용하는 것은 문제가 될 것이라고 생각한다. 그래서, 나는 시스템 글꼴 중 하나로 변경했다. 아무 효과가 없다.
- 텍스트가 잘리지 않도록
NSLineBreakMode
에서NSLineBreakByClipping
으로 설정하려고했습니다. 그 후, 텍스트는 잘리지 않지만 일부 문자는 전에 잘 렸습니다. minimumScaleFactor
도 다른 값을 설정하여 효과가 있는지 확인했지만 전혀 효과가 없는지 확인했습니다.
많은 기본값을 변경하지 않고 설정하면됩니다. 한가지 주목해야 할 것은 코드가 adjustsFontSizeToFitWidth를 설정하지 않는다는 것입니다. 설정은 다음과 같습니다. lbl.adjustsFontSizeToFitWidth = YES; – danh
@ 단, 그게 문제였다. 나는 그것을 놓친 이유를 모르겠다. 답으로 의견을 추가한다. 내가 받아 들일 테니, 고마워. – limon
다행히 도왔다. 감사. – danh