나는 minimumFontSize
전에 사용 했지만 그 기능은 이제 더 이상 사용되지 않으며 어떻게 minimumScaleFactor
작동 하는지 이해하지 못합니다 .
최대 글꼴 크기는 10이고 최소 글꼴 크기는 7입니다.
스케일 팩터를 사용하여 글꼴 크기를 7로 축소하려면 어떻게해야합니까?
UILabel
창조:
UILabel *label = [[UILabel alloc] init];
[label setTranslatesAutoresizingMaskIntoConstraints:NO];
label.text = [labelName uppercaseString];
label.textAlignment = NSTextAlignmentCenter;
label.textColor = [UIColor whiteColor];
label.font = [UIFont fontWithName:HELVETICA_FONT_STYLE_BOLD size:9.5];
label.backgroundColor = [UIColor clearColor];
label.minimumScaleFactor = .1f;
[label addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:[label(WIDTH)]"
options:0
metrics:@{@"WIDTH" : [NSNumber numberWithFloat:buttonSize.width]}
views:NSDictionaryOfVariableBindings(label)]];
[contentView addSubview:label];
답변
당신은 설정해야 label.adjustsFontSizeToFitWidth = YES;
답변
다른 답변이 말하는 것 외에도 minSize / defaultSize (division)를으로 넣으면 minimumScaleFactor
이전을 사용하는 것과 동일합니다 minimumFontSize
.
예를 들어 기본 레이블 크기를 사용하여 최소 글꼴 크기를 10으로 설정하려면 다음을 수행 할 수 있습니다.
[label setMinimumScaleFactor:10.0/[UIFont labelFontSize]];
( [UIFont labelFontSize]
기본값이 아닌 경우 레이블의 글꼴 크기로 바꿉니다 ).
다음과 같습니다.
[label setMinimumFontSize:10.0];
답변
문서 에 따르면 :
이 속성을 사용하여 레이블의 텍스트를 표시 할 때 사용할 허용 가능한 글꼴 크기를 생성하는 현재 글꼴 크기에 대한 최소 승수를 지정합니다. 이 속성 값을 0으로 지정하면 현재 글꼴 크기가 가장 작은 글꼴 크기로 사용됩니다.
따라서 레이블의 기본 글꼴 크기가 10
이면 0.7f
a로 입력하면 했던 minimumScaleFactor
것과 동일한 작업을 수행해야합니다 minimumFontSize
.
답변
다른 답변 외에도 초보자에게 도움이되는 설명을 추가하겠습니다.
계산하는 방법 minimumScaleFactor
? 레이블의 최소 글꼴 크기를 레이블의 기본 글꼴 크기로 나눕니다. 예를 들어, 기본 글꼴 크기는 25입니다. 최소 글꼴 크기는 10입니다.
10/25 = 0.4
0.4는 당신의 minimumScaleFactor
가치입니다. 위의 @Jsdodgers의 답변도 참조하십시오.