通过自动布局使 UILabel 大小适合其内容.适合宽度和高度



我找到了这个解决方案,如何使UILabel高度适合其内容。例如,如果我按照建议的说明修改垂直内容拥抱优先级和垂直内容压缩阻力优先级,它就会完美运行。因此,情节提要会自动将 UILabel 高度调整为文本高度。如果我对水平内容拥抱优先级和内容压缩阻力优先级进行相同的编辑UILabel宽度约束优先级,UILabel宽度适合文本宽度。

我的问题是如何设置参数以适应文本高度和文本宽度的大小?因为似乎我们只能适合或高度或宽度的UILabel内容。

+(CGSize)findTextHeight:(float)height width:(float)width string:(NSString *)desc font:(UIFont*)font{
    if ([desc isKindOfClass:[NSNull class]]) {
        return 0.0;
    }
    CGRect textRect =[desc boundingRectWithSize:CGSizeMake(width, height)
                                        options:NSStringDrawingUsesLineFragmentOrigin
                                     attributes:@{NSFontAttributeName:font}
                                        context:nil];
    CGSize size = textRect.size;
    return size;
}

这将为您提供给定文本的标签大小以及最小高度和最小宽度。

最新更新