UIScrollView自动调整大小的内容?

3
如果我将UIScrollView的高度设置为self.view.frame.size.height并且setAutoresizingMask:UIViewAutoresizingFlexibleHeight,那么当视图加载UITabBarController和UINavigationBar时,滚动视图框架会自适应大小。然而,内容大小(设置为:self.view.frame.size.height)不会改变。我想这很公平 - 我似乎找不到自动调整大小选项,那么它为什么会自动调整大小呢?我的解决方法是将内容大小设置为小于框架高度,因此内容始终是框架的高度(例如:将内容大小高度设置为10点)。我只是想知道这是否是最好的方法,还是有更好的方法?我在viewDidLoad中编写了这段代码。谢谢Tom
1个回答

5

UIScrollView的contentSize属性定义了Span&Zoom显示的视图大小。它通常与容器(即scrollview)大小没有任何关系,但如果您确实需要根据scrollview大小调整内容的大小,则可以重载layoutSubViews方法来实现。


好的...那是一个很好的答案。:) 我是否可以在整个视图显示后设置内容大小?也就是说,在导航栏和选项卡栏显示后?比如说,有一个afterViewDidAppear方法或者其他什么方法吗? - Thomas Clayson
为什么不在每次scrollView调整大小时重新调整大小,而要像这样做呢? - VdesmedT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接