【发布时间】:2013-04-05 06:21:45
【问题描述】:
我的应用程序要求用户输入一些详细信息,然后使用标签通过另一个视图显示。
由于用户可以输入可变长度的文本,而标签最初具有固定的长度和宽度,我使用如下代码来调整标签大小:
CGSize maximumLabelSize = CGSizeMake(296,9999);
CGSize expectedLabelSize = [yourString sizeWithFont:yourLabel.font
constrainedToSize:maximumLabelSize
lineBreakMode:yourLabel.lineBreakMode];
//adjust the label the the new height.
CGRect newFrame = yourLabel.frame;
newFrame.size.height = expectedLabelSize.height;
yourLabel.frame = newFrame;
这些修改的问题是我有很多标签一个接一个。因此,当我更改一个标签的长度时,以下所有标签也需要转换/移动到新位置。
有什么方法可以动态更改所有标签的大小和位置,同时确保最终呈现效果与固定长度标签一样好?
【问题讨论】:
-
您需要动态管理所有标签的高度。就像取一个 int 变量 'h' 给初始值就像 'yourLabel.frame.size.origin.y'... 之后 h = h + expectedLabelSize.height...给这个 h 值到下一个标签的 y 位置
标签: ios view label transform frame