任何人都可以在下面的代码中强调为什么需要“[aLabel sizeToFit]”行,取自此处。
也就是说,创建的 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
}