为什么是'sizeToFit”此代码中需要调用?

任何人都可以在下面的代码中强调为什么“[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
}
    
已邀请:
来自docs:   如果您愿意,请调用此方法   调整当前视图的大小以便它   使用最合适的量   空间。特定的UIKit视图调整大小   自己照自己的意思   内部需求。在某些情况下,如果一个   视图没有超视图,它可能   大小本身到屏幕边界。   因此,如果您希望给定视图的大小   你应该在它的父视图中找到它自己   之前将其添加到父视图中   调用这个方法。 选择合适的一种,适合您的情况。     

要回复问题请先登录注册