Pad*_*215 104 objective-c uilabel ios
我之前使用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];
Run Code Online (Sandbox Code Playgroud)
小智 195
你需要设置 label.adjustsFontSizeToFitWidth = YES;
Jsd*_*ers 103
除了其他答案所说的,如果你把minSize/defaultSize(除)作为minimumScaleFactor,它将与使用旧的相同minimumFontSize.
例如,如果您希望使用默认标签大小将最小字体大小设置为10,则可以执行以下操作:
[label setMinimumScaleFactor:10.0/[UIFont labelFontSize]];
([UIFont labelFontSize]如果不是默认值,请替换为标签的字体大小).
这将是相同的:
[label setMinimumFontSize:10.0];
kov*_*pas 20
根据文件:
使用此属性指定当前字体大小的最小乘数,以产生在显示标签文本时使用的可接受字体大小.如果为此属性指定值0,则使用当前字体大小作为最小字体大小.
因此,如果你的标签的默认字体大小是10,你把它0.7f作为一个minimumScaleFactor,它应该做同样的事情minimumFontSize.
AVo*_*Vog 11
除了其他答案之外,我将添加一个帮助自己的初学者友好解释:
怎么计算minimumScaleFactor?将标签的最小字体大小除以标签的默认字体大小.例如,您的默认字体大小为25.您的最小字体大小为10.
10/25 = 0.4
0.4是你的minimumScaleFactor价值.另见@ Jsdodgers的答案.
| 归档时间: |
|
| 查看次数: |
48588 次 |
| 最近记录: |