以下のコードで「[aLabelsizeToFit]」行が必要な理由を強調できる人は誰でも、ここから抜粋します。
つまり、作成されたCGRectは、テキストのフォントサイズに基づいて既にサイズ設定されているのに、なぜsizeToFitが必要になるのでしょうか。それとも、正しいCGRectサイズを計算しているときに、事前に合意されたフォント(システムフォント)をまだUILabelに設定していなかったためですか?(したがって、フォントを設定する代わりに、実質的にsizeToFitと呼ばれます)
- (CGRect)RAD_frameForCellLabelWithSystemFontOfSize:(CGFloat)size {
CGFloat width = [UIScreen mainScreen].bounds.size.width - 50;
CGFloat height = [self RAD_textHeightForSystemFontOfSize:size] + 10.0;
return CGRectMake(10.0f, 10.0f, width, height);
}
- (void)RAD_resizeLabel:(UILabel *)aLabel WithSystemFontOfSize:(CGFloat)size {
aLabel.frame = [self RAD_frameForCellLabelWithSystemFontOfSize:size];
aLabel.text = self;
[aLabel sizeToFit]; // WHY IS THIS REQUIRED
}