带有自动布局的滚动视图表单
Posted
技术标签:
【中文标题】带有自动布局的滚动视图表单【英文标题】:scrollview form with autolayout 【发布时间】:2013-11-28 15:14:45 【问题描述】:我正在尝试在我的应用程序中构建一个滚动视图表单。所以,有一个 EditForm(它是一个 uiviewcontroller),它包含一个包含我的字段的 contentView(uiview)的滚动视图。
如何使用自动布局初始化所有这些视图?要说滚动视图获取 contentView 的整个大小(我在 contentView 上添加子视图),滚动视图要在 uiviewcontroller 上,当然,滚动视图要根据 contentView 的大小正确滚动。
谢谢:)
【问题讨论】:
【参考方案1】:其实这很容易做到。
我个人喜欢在我的应用程序中使用没有任何 IB 的纯代码。首先检查来自 Apple 的 link。
基本步骤是:
-
确保您的所有子视图都是 translatesAutoresizingMaskIntoConstraints = NO;
使用VFL为您的视图添加约束
AutoLayout 的 UIScrollView 提示 - 您需要为底部子视图添加底部约束,以便滚动视图可以滚动。
祝你好运:)
【讨论】:
好的,谢谢!但是你对底部约束是什么意思?有例子吗? 好的,如果我们不使用自动布局,我们需要设置滚动的内容大小,对吧?在自动布局模式下,我们不为 scrollView 设置内容大小。相反,我们对滚动视图的底线进行约束,以便滚动视图知道滚动内容的大小。 哦对了,contentSize不能自动确定? 不。您应该为滚动提供更多详细信息。它不是那么聪明。无论如何,请查看苹果示例。它已经通过以下代码做到了:@“V:|[imageView]|”。你可以看到 imageView 的底部正好对着 ScrollView 的底部。这将为滚动提供内容大小。 问题是我在contentView中有一个动态tableview。用户可以单击并向 contentView 添加一行,因此我也需要增加 scrollView 的 contentSize。那么,不做大量计算就没有解决方案?以上是关于带有自动布局的滚动视图表单的主要内容,如果未能解决你的问题,请参考以下文章
带有自动布局的 UIScrollView:后代在查看区域之外,但视图不滚动