UIScrollview基于视图ios的高度动态

时间:2016-04-23 19:04:02

标签: ios uiview uiscrollview autolayout subviews

我正在编写一个ios应用程序,该应用程序具有子视图(如片段或子视图),这些视图位于UIView中的简单UIViewControllerUIView的高度约为300px。我只是在UIView中加载子视图,但每个子视图都有自己的内容,可能不适合300px,因此uiscrollview无法在最后一个视图中显示。

我的问题是,我无法解决滚动视图内容,以便从子视图控制器子视图中滚动父UIViewController,因为子视图长度超过300像素,因此uiscrollview无法获得最后一个元素。

我尝试提供静态scrollview.contentSize.height = 1000,因此滚动视图可以滚动到屏幕下方,但我无法点击后面的视图,因为它似乎uiscrollview无法读取该元素。

我的问题是,我如何指定动态uiscrollview高度,假设我在我的uiviewcontroller中使用自动布局,并且我想根据我UIViewController中的子项计算滚动高度。我在故事板中使用swift 2.0和autolayout。

1 个答案:

答案 0 :(得分:0)

你的约束应该是,

scrollview - 顶部,底部,前导,尾随

视图(内容视图) - 容器中的顶部,底部,前导,尾随,固定高度和水平居中

并在该视图中添加所有其他内容。你会得到理想的结果。它将以小屏幕尺寸滚动,然后滚动内容视图,不会滚动显示更大的屏幕,然后滚动内容视图。

随着更多子视图的添加,您需要增加内容视图的高度。您的内容视图的高度应该等于所有子视图的高度和间距

在此设置之后,如果您无法滚动,请检查内容视图的底部约束在尺寸检查器中的常量。将其设为零(如果无法仅滚动)。

希望这会有所帮助:)

相关问题