我有一个带有 UIScrollView 的 Storyboard,其中包含两个 UILabel、一个 UIImageView 和一个 UITextView。 UIImageView 和 UITextView 的内容是动态的,它们的高度也是动态的。
目前我正在我的 viewDidLoad 中执行此操作,以在插入动态文本后调整 UITextView 的大小:
CGRect frame = self.textView.frame;
frame.size.height = self.textView.contentSize.height;
self.textView.frame = frame;
这是改变高度的方法吗?
我的下一个问题是为 UIScrollView 设置内容大小,以激活滚动。是否有一种聪明的方法来获取其所有内容的高度,还是我必须计算每个元素的高度并将其总和设置为 UIScrollView 的内容大小?
Best Answer-推荐答案 strong>
如果您的对象之间没有空间,您可以在 scrollView.subviews 中创建一个 for 循环并将所有高度相加以设置为 contentSize。
由于您可能没有将所有内容紧密结合在一起,因此最好将最底部的对象添加到 frame.origin.y 和 frame.size.height 中(也许您想要一些额外的空间在这里,但这取决于您),这将为您提供 contentSize.height 以保留所有内容。
关于objective-c - UIScrollView:处理动态内容?,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8701949/
|