动态更改 UILabel 宽度不适用于自动布局

2024-02-17

我有一些代码:

CGRect currentFrame = textLabel.frame;
CGSize max = CGSizeMake(textLabel.frame.size.width, 3000);
CGSize expected = [[textLabel text] sizeWithFont:textLabel.font constrainedToSize:max lineBreakMode:textLabel.lineBreakMode];
currentFrame.size.height = expected.height;
textLabel.frame = currentFrame;

expected.height = expected.height + 70;

[scrollView setContentSize:expected];

textLabel 放置在 UIScrollView 内部,用于显示多行文本信息。

在旧版本的应用程序中,没有 4 英寸屏幕的支持,一切都很完美。 但不幸的是,现在调整 UILabel 的大小不起作用。

也许有人可以建议我,我应该改变什么?

Thanks.


使用自动布局时,不应更新框架属性,而应修改视图上的约束。

另一方面,您也可以让自动布局为您工作。确保numberOfLines标签的属性设置为 0 并且高度约束为 typeGreater Than or Equal(>=)。这样,在标签上设置新文本后,布局将自动更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态更改 UILabel 宽度不适用于自动布局 的相关文章

随机推荐