ios – UILabel不会使用AutoLayout在UIScrollView中自动换行

ios – UILabel不会使用AutoLayout在UIScrollView中自动换行,第1张

概述我在UIScrollView中有一个UILabel,我试图用自动换行.我想使用AutoLayout进行布局配置.当UILabel不在UIScrollView中时,它会完美地包装.我只需要将行数设置为0并将换行模式设置为自动换行. 但是,当我将UILabel放在UIScrollView中时,自动换行不再起作用.我已经检查了“Dynamic UILabel height inside UIScroll 我在UIScrollVIEw中有一个UILabel,我试图用自动换行.我想使用autoLayout进行布局配置.当UILabel不在UIScrollVIEw中时,它会完美地包装.我只需要将行数设置为0并将换行模式设置为自动换行.

但是,当我将UILabel放在UIScrollVIEw中时,自动换行不再起作用.我已经检查了“Dynamic UILabel height inside UIScrollView with AutoLayout”和“Correctly Size UILabel inside UIScrollView using Interface Builder and Autolayout?”,但这两个问题都没有帮助我的答案.

如果有人想看一下,我有set up a test project说明我正在谈论的内容.

解决方法 原因是滚动视图中的约束(固定在滚动视图中)并不意味着您认为它们的含义.它们与从内到外确定滚动视图的contentSize有关;他们不会从外面确定滚动视图内部事物的大小.请参阅我的答案: https://stackoverflow.com/a/13548039/341994

在您的情况下,最简单的解决方案是使用中间内容视图,以便您具有此层次结构:

scroll vIEw    content vIEw        label

现在给出内容视图的绝对宽度和高度约束,并将它们全部固定在滚动视图的四个边上.现在标签将按预期工作.内容视图有足够的约束来绝对设置自己的大小,并从内部约束滚动视图的contentSize.同时,对标签的约束不是滚动视图而是内容视图,并且由于内容视图具有固定大小并且是普通视图(不是滚动视图),因此标签上的约束符合您的预期.

总结

以上是内存溢出为你收集整理的ios – UILabel不会使用AutoLayout在UIScrollView中自动换行全部内容,希望文章能够帮你解决ios – UILabel不会使用AutoLayout在UIScrollView中自动换行所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存