2012-01-02 107 views
2

我有一个UIScrollView故事板,它包含两个UILabels,一个UIImageView和一个UITextView。 UIImageView和UITextView的内容是动态的,它们的高度也是动态的。UIScrollView:处理动态内容?

目前我的动态文本后这样做我的UITextView的大小viewDidLoad调整内插:

CGRect frame = self.textView.frame; 
frame.size.height = self.textView.contentSize.height; 
self.textView.frame = frame; 

这是改变其高度的方式?

我的下一个问题是设置UIScrollView的内容大小,以激活滚动。有没有一种明智的方法来获取其所有内容的高度,还是必须计算每个元素的高度并将其总和设置为UIScrollView的内容大小?

回答

4

如果您的对象之间没有空间,您可以在scrollView.subviews中创建一个for循环,并将所有高度加起来设置为contentSize。

因为你可能并没有把所有的东西都紧紧地绑在一起,所以你可能通过获得最底层的对象并将它加起来frame.origin.y和frame.size.height(也许你想有一些额外的空间在这里,但这取决于你),这会给你你的contentSize.height让所有的东西都在那里。

+0

谢谢。使用底部元素做了诀窍。 – dhrm 2012-01-02 14:38:37