gpt4 book ai didi

ios - 根据内容调整 UILabel 的宽度

转载 作者:行者123 更新时间:2023-11-29 03:07:28 25 4
gpt4 key购买 nike

在问这个问题之前我看过SO。所有问题都是关于调整 UILabel 的高度而不是其宽度。我尝试了替代方法,但它不起作用,例如 [label sizeToFit];。是否可以根据标签的文本调整标签的宽度?我在 Storyboard的 UITableViewCell 中创建标签。我希望能够根据分配的文本调整其宽度。我不想调整字体大小。

我在CellForRowAtIndexPath中设置了标签的文本。

请提供示例。

提前致谢:)

更新 1:我有一个在 Storyboard 中制作的自定义单元格,因此不是以编程方式制作的。我在 CellForRowAtIndexPath 中设置每个单元格的内容,例如 myLabel.text = Recipe.name。名称标签很小,但我想根据文本的长度扩展其宽度,而不是截断尾部或缩小文本的大小。

更新2:我的单元格中有很多其他 UIElement。所以我在左上角、右上角、左下角、右下角有一个标签,中间有一张图片,默认值为 120,因为它们有背景色。我将其设置得较小,因为标签中没有大量的空白空间。

最佳答案

获取字符串的大小:

  //Replace FLT_MAX with the maximum height/width you want the label to be, if no maximum leave as FLT_MAX.
CGSize stringSize = [YOUR_STRING sizeWithFont:YOUR_FONT constrainedToSize:CGSizeMake(FLT_MAX, FLT_MAX) lineBreakMode:NSLineBreakByWordWrapping];

然后调整标签的大小:

[YOUR_LABEL setFrame:CGRectMake(0, 0, stringSize.width, stringSize.height)];

在 iOS 7 中,sizeWithFont 已弃用,请改用 boundingRectWithSize:

NSDictionary *stringAttributes = [NSDictionary dictionaryWithObject:YOUR_LABELS_FONT
forKey: NSFontAttributeName];

CGSize stringSize = [text boundingRectWithSize:CGSizeMake(FLT_MAX, FLT_MAX)
options:NSStringDrawingTruncatesLastVisibleLine |
NSStringDrawingUsesLineFragmentOrigin
attributes:stringAttributes context:nil].size;

关于ios - 根据内容调整 UILabel 的宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22607494/

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