Любой, кто в состоянии выделить, почему строка «[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
}