UIScrollView:处理动态内容?

时间:2012-01-02 14:24:06

标签: objective-c ios uiscrollview

我有一个带有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的内容大小?

1 个答案:

答案 0 :(得分:4)

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

由于你可能没有把所有东西紧紧地绑在一起,你可能更好的方法是获得最底层的物体并加上它的frame.origin.y和它的frame.size.height(也许你想要一些额外的空间在这里,但这取决于你),这将给你contentSize.height保持一切在那里。