ios – 动态更改UILabel宽度不适用于autolayout
2019年12月27日
作者:佚名
我有一些代码:
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的大小不起作用.
也许,有人可以建议我,我应该改变什么?
谢谢.
解决方法
使用AutoLayout时,不应更新框架属性,而应修改视图上的约束.
另一方面,您也可以让AutoLayout为您工作.确保标签的numberOfLines属性设置为0,高度约束的类型为大于或等于(> =).这样,在标签上设置新文本后,布局将自动更新.
以上是来客网为你收集整理的ios – 动态更改UILabel宽度不适用于autolayout全部内容,希望文章能够帮你解决ios – 动态更改UILabel宽度不适用于autolayout所遇到的程序开发问题。
如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。