0

私が取り組んでいる大規模なプロジェクトで UILabel に問題があったため、新しいプロジェクトでそれらを再現しようとしました。私が得た結果は、特にプロパティ「adjustFontSizeToFitWidth」に関して、UILabels がどのように機能するかについての私の理解を揺るがしました。以下のコードは画像になります。

UILabel* label = [[UILabel alloc] init];
label.text = @"TEST";
label.font = [[UIFont alloc] fontWithSize:100.0];
label.adjustsFontSizeToFitWidth = true;
label.frame = CGRectMake(10, 10, 300, 100);
[label.layer setBorderColor:[[UIColor blackColor] CGColor]];
label.layer.borderWidth = 1.0;
label.textAlignment = NSTextAlignmentCenter;
[view addSubview:label];

上記のコードで作成された UILabel

だから私の質問は、テキストフォントが実際にUILabelのフレームの幅に合うように調整されなかったのはなぜですか?

4

2 に答える 2

1

[[UIFont alloc] fontWithSize:100.0];フォント名を指定しないため、有効なインスタンスが生成されないため、ラベルはデフォルトのフォントを使用します。したがって、それはまさにそれがすべきものに見えます。フォントを適切に作成して、テストを再実行してみてください。

于 2013-07-28T23:02:08.257 に答える