问题描述
我正在使用带有 UIScrollView
的自动布局来显示对象的一些属性.我从网络服务动态下载此信息.滚动视图具有恒定宽度(因为我不希望有垂直滚动行为),并且它的子视图通过一组约束尊重这个宽度,但我不能增加 UILabel
的高度动态.
I am using autolayout with UIScrollView
to show some attributes from an object. I download this information dinamically from web service. The scrollview has a constant width (because I don't want to have a vertical scroll behavior) and its subviews respect this width with a group of constraints, but I can't to increase the UILabel
's height dynamically.
我编写所有代码并使用 viewDidLoad
选择器创建子视图...
I code everything and I use viewDidLoad
selector to create subviews...
您可以查看 self.detailContentScrollView
变量,这是从视图控制器的 nib 创建的 IBOUlet
.
You can watch the self.detailContentScrollView
variable, this is an IBOulet
created from view controller's nib.
然后我使用 updateConstraints
选择器...
Then I use the updateConstraints
selector...
最后,当我收到 Web 服务的信息时,我从滚动视图发送 sizeToFit
的 UILabel
选择器和 layoutIfNeeded
.但是我的 UILabel
永远不会用新内容调整自己的大小.我做错了什么?
and finally, when I receive the web service's info, I send sizeToFit
's UILabel
selector and layoutIfNeeded
from the scrollview. But my UILabel
never resizes itself with the new content. What am I doing wrong?
推荐答案
UIScrollView 内容大小是通过自动布局动态更新的,或许你只需要做到以下几点
UIScrollView content size is updated dynamically with autolayout, maybe you only must do the following
其中 _contentView 是您的 UILabel(如果您在视图容器上放置了更复杂的视图层次结构),而 self.view 是控制器视图(或其他任何东西).希望这也有帮助:iOS使用 UIScrollview 自动布局:为什么滚动视图的内容视图不填充滚动视图?....
Where _contentView is your UILabel (If you have a more complex view hierarchy put on a view container) and self.view is the controller view (or anything else). Hope this helps also: iOS Autolayout with UIScrollview: Why does content view of scroll view not fill the scroll view?....
另外别忘了建立你的UILabel preferredMaxLayoutWidth
干杯!
这篇关于带有自动布局的 UIScrollView 内的动态 UILabel 高度的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!