我有一个带有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的内容大小?
答案 0 :(得分:4)
如果对象之间没有空格,可以在scrollView.subviews中创建for循环,并将所有高度加起来设置为contentSize。
由于你可能没有把所有东西紧紧地绑在一起,你可能更好的方法是获得最底层的物体并加上它的frame.origin.y和它的frame.size.height(也许你想要一些额外的空间在这里,但这取决于你),这将给你contentSize.height保持一切在那里。