首页 文章

通过自动布局将UILabel大小调整为其内容 . 适合宽度和高度

提问于
浏览
1

我发现this solution如何使 UILabel 高度符合其内容 . 例如,如果我遵循建议的指令并修改垂直 ContentHuggingPriority 和垂直 ContentCompressionResistancePriority ,它就是完美的 . 因此,故事板自动将UILabel高度调整为文本高度 . 如果我对水平 ContentHuggingPriorityContentCompressionResistancePriority 进行相同操作并编辑 UILabel 宽度约束优先级,则 UILabel 将宽度与文本宽度相匹配 .

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

1 回答

  • 0
    +(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;
    }
    

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

相关问题