UIScrollView 自动调整内容?

Posted

技术标签:

【中文标题】UIScrollView 自动调整内容?【英文标题】:UIScrollView autoresizing content? 【发布时间】:2010-10-07 15:35:43 【问题描述】:

如果我将 UIScrollView 高度设置为 self.view.frame.size.heightsetAutoresizingMask:UIViewAutoresizingFlexibleHeight,那么当视图加载 UITabBarController 和 UINavigationBar 时,滚动视图框架会调整大小以适应。

但是内容大小(设置为:self.view.frame.size.height)不会改变。我想这很公平 - 我似乎找不到自动调整大小的选项,所以为什么要自动调整大小。

我的解决方法是将内容大小设置为小于框架高度,因此内容将始终是框架的高度。 (例如:将内容大小高度设置为 10 点)。

我只是想知道这是否是解决此问题的最佳方法,或者是否有更好的方法?我正在viewDidLoad 中执行此代码。

谢谢

汤姆

【问题讨论】:

【参考方案1】:

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

【讨论】:

好的...这是一个很好的答案。 :) 有什么方法可以在显示整个视图后设置内容大小?即:导航栏和标签栏显示后? ie2:一个 afterViewDidAppear 方法之类的。 为什么你会做这样的事情而不是每次调整scrollView的大小时都调整它的大小?

以上是关于UIScrollView 自动调整内容?的主要内容,如果未能解决你的问题,请参考以下文章

UIScrollView 不会自动调整大小

防止重叠的 UIScrollView 滚动

在 UIScrollView 中自动调整 UITextView 的大小

以编程方式滑动 UIScrollView

UIScrollView 显示为零?

UILabel 动态内容自动调整大小问题