gpt4 book ai didi

ios - 如何根据字体大小和文本计算标签的大小?

转载 作者:行者123 更新时间:2023-11-28 21:38:18 26 4
gpt4 key购买 nike

我在我的应用程序的 View 上添加了一个标签。我给它指定了一些大小字体大小为 16.0。当标签中的文本很小时,它工作正常。但是当文本是更多标签我希望标签自动增加它的高度并更新约束。所以我不想要任何与约束相关的警告。最好的方法是什么?编辑

    cell.label_like_count.lineBreakMode = NSLineBreakByWordWrapping;
cell.label_like_count.numberOfLines = 0;
[cell.label_like_count sizeToFit];
NSString *first_like_user=@"Some Name";
int count=[first_like_user length];
NSString *like_count=@"12";
like_count=[like_count stringByAppendingString:@" others like your post"];
first_like_user=[first_like_user stringByAppendingString:@" and "];
first_like_user=[first_like_user stringByAppendingString:like_count];
NSMutableAttributedString *mutableAttributeStr = [[NSMutableAttributedString alloc]initWithString:first_like_user];

NSAttributedString *attributeStr = [[NSAttributedString alloc]initWithString:@"\n" attributes:@{NSFontAttributeName : [UIFont fontWithName:@"HelveticaNeue-Bold" size:8]}];

[mutableAttributeStr addAttribute:NSFontAttributeName value: [UIFont fontWithName:@"Helvetica-Bold" size:14.0] range:NSMakeRange(0, count)];

[mutableAttributeStr appendAttributedString:attributeStr];

我试过下面的代码

  CGSize maximumLabelSize = CGSizeMake(296,9999);

CGSize expectedLabelSize = [first_like_user sizeWithFont:cell.label_like_count.font
constrainedToSize:maximumLabelSize
lineBreakMode:cell.label_like_count.lineBreakMode];

//adjust the label the the new height.
CGRect newFrame = cell.label_like_count.frame;
newFrame.size.height = expectedLabelSize.height;
cell.label_like_count.frame = newFrame;

[cell.label_like_count setAttributedText:mutableAttributeStr];

但这不会增加标签高度&标签不会进入多行?

最佳答案

除非您指定明确的高度限制,否则 UILabel 会通过 intrinsicContentSize 自动计算它们的高度限制。您所要做的就是确定标签的宽度(通过显式宽度约束或通过左/右边缘约束),它会根据内容调整其高度。

关于ios - 如何根据字体大小和文本计算标签的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33081729/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com