虽然我添加了适当的约束,但Scrollview不会使用autolayout滚动

时间:2016-05-23 09:28:57

标签: ios objective-c uiscrollview

我有以下表格的布局

我在以下层次结构中获得了观点。

  ---View
    -------TopView
    ---------Label
  --Scrollview
  ---------ContentView
  ----Buton

内容视图具有约束属性,如下图所示

enter image description here

问题是scrollview没有滚动。 我错过了设置的任何布局限制吗?滚动视图的宽度为374,高度为534.Contentview的宽度为334,高度为494

3 个答案:

答案 0 :(得分:3)

每当您尝试在提交应用程序/表单之类的内容上添加滚动视图时,请记住以下步骤:

  1. 在基本视图上添加一个滚动视图,其框架与基本视图完全相同

  2. 添加左上角和右下角(每个应为0)

  3. 使用相同框架的另一个视图滚动视图并设置0 约束默认四种约束类型,即TOP Bottom 落后领先。
  4. 也为基本视图约束提供相同的高度。
  5. 现在尝试在第二个视图的底部正上方添加一个按钮
  6. 给出以下
    约束到按钮:水平中心,宽度,高度,
    底部。
  7. 尝试在模拟器上运行您应该可以滚动到按钮。

答案 1 :(得分:3)

您是否设置了ScrollView contentSize?
请检查您是否设置了可滚动高度。

例如

 scrlVIewSignUp.contentSize = CGSizeMake(self.view.frame.width, 1000)  

其中1000是近似高度。(请根据您的要求设置高度)

答案 2 :(得分:1)

我假设你遇到了contentSize的问题。 查看this。它是关于如何在使用“纯”AutoLayout方法时处理contentSize。它的要点是你的约束隐含地定义了内容大小。使用AutoLayout时,切勿明确设置它。

它还附有博客文章末尾的示例项目,以演示它是如何工作的。