【发布时间】:2014-01-31 04:37:57
【问题描述】:
我正在从服务器获取 JSON 响应并将该内容设置为 UILabel,有时文本将是一行,有时文本将是 10 行。所以我在 UIScrollView 内显示此 UILabel。但我在UILabel 得到了空白空间
这是我的截图..
目前我正在使用故事板和自动布局
所以我想避免UILabel 中的这些空白空间。请给我这个对齐问题的建议。??
更改UILabel 高度的代码,但这对我不起作用
CGRect textRect = [strDetailsFinal boundingRectWithSize:CGSizeMake(296, FLT_MAX)
options:NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName: labDetails.font}
context:nil];
CGSize size = textRect.size;
CGRect newFrame = labDetails.frame;
newFrame.size.height = size.height;
labDetails.frame = CGRectMake(160, 200, 300, newFrame.size.height);
【问题讨论】:
-
是的,你最好计算文本的高度或宽度,然后根据 Json 的文本设置标签的框架,这样你就可以完成任务
-
@kamaleshkumaryadav 是的,我刚刚编辑了我的问题并发布了一行代码用于动态更改 uilabel 高度。但这对我不起作用:(
-
@Kalai - 记住一个拇指规则 - 使用自动布局时不应该设置框架 - 你违背了自动布局的基本概念 - 而是尝试在你的情况下以编程方式自动布局约束
-
@bhavyakothari ok 提供一些示例编码,用于在自动布局开启时将框架设置为 uilabel