115

以前使用して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];
4

4 に答える 4

219

を設定する必要があります。label.adjustsFontSizeToFitWidth = YES;

于 2013-03-04T18:40:43.613 に答える
107

他の回答が言うことに加えて、 minSize/defaultSize (分割) を にminimumScaleFactorすると、古い を使用するのと同じになりますminimumFontSize

たとえば、デフォルトのラベル サイズを使用して最小フォント サイズを 10 にしたい場合は、次のようにします。

[label setMinimumScaleFactor:10.0/[UIFont labelFontSize]];

[UIFont labelFontSize](デフォルトでない場合は、ラベルのフォント サイズに置き換えます)。

これは次のようになります: [label setMinimumFontSize:10.0];

于 2013-03-11T06:10:42.603 に答える
20

ドキュメントによると:

このプロパティを使用して、ラベルのテキストを表示するときに使用できる許容可能なフォント サイズを生成する、現在のフォント サイズの最小乗数を指定します。このプロパティに値 0 を指定すると、現在のフォント サイズが最小のフォント サイズとして使用されます。

したがって、ラベルのデフォルトのフォントサイズが の場合10、 を0.7fとして配置するminimumScaleFactorと、同じように動作するはずですminimumFontSize

于 2013-02-01T16:44:30.260 に答える
14

他の回答に加えて、自分自身を助けた初心者向けの説明を追加します。

を計算する方法はminimumScaleFactor? ラベルの最小フォント サイズをラベルのデフォルト フォント サイズで割ります。たとえば、デフォルトのフォント サイズは 25 です。最小のフォント サイズは 10 です。

10/25 = 0.4

0.4 があなたのminimumScaleFactor値です。上記の@Jsdodgersの回答も参照してください。

于 2016-04-17T02:04:40.433 に答える