无法查看内容视图上的所有文本字段,这些文本字段位于scrollview之上

时间:2017-01-13 14:29:33

标签: ios xcode autolayout

我在contentView上有25个文本字段,它位于scrollview之上。由于许多文本字段,我已将ViewController模拟大小更改为Freeform并将高度设置为1000.

enter image description here

我已经为scrollview,contentview和textfields添加了约束。我能够看到满足每个约束

enter image description here

我已将contentview设置为与视图enter image description here

相等的宽度和相等高度

当我在设备中运行它时,我在contentview中只能看到15个文本字段。我已将最后一个文本字段约束设置为Container的BottomSpace。

enter image description here

我尝试将容器的BottomSpace设置为标准值但面临同样的问题

enter image description here

如果我删除了最后一个文本字段的底部约束,那么我可以看到所有文本字段但无法向下滚动。我尝试了很多,但无法弄清楚问题。由于我是限制和自动布局的新手,我无法弄明白。如果我有10-15个文本字段,那么一切正常,但如果文本字段超过15,那么我面临这个问题。我想我用ViewController的大小或底部约束来搞乱一些东西。我准备好遵循任何其他满足我要求的方法。任何帮助都将非常感激。

2 个答案:

答案 0 :(得分:0)

UIViewController的{​​{1}}尝试设置viewDiDAppear的{​​{1}}

我个人更喜欢将内容视图的前导,顶部,尾部和底部空间设置为滚动视图(设置为0),而不是equalWidths和equalHeights。

然后确保文本字段设置了明确的高度也很好。

答案 1 :(得分:0)

如何在UIScrollView

中提供约束

ScrollView约束

  1. 上,下,领先,尾随= 0到超级视图。
  2. ContentView约束

    1. 上,下,领先,尾随= 0至scrollView
    2. ScrollView
    3. 的超级视图相等的宽度

      文字字段限制

      -For textField1

      1. 领先,尾随,顶部(根据您的要求的约束值)ContentView
      2. 身高
      3. - 对于textField2到textField(n-1)

        1. 领先,尾随,顶部(根据您的要求的约束值)Upper textField
        2. 身高
        3. - 对于textField2到textField(n)

          1. 领先,尾随,顶部(根据您的要求的约束值)Upper textField
          2. 身高
          3. 从底部到ContentView
          4. 重要:

            UIScrollView高度取决于contentView高度,因为我们给出约束contentView w.r.t.到UIScrollViewcontentView的高度由其内部内容计算,因为每个组件的约束具有高度,第一个组件具有contentView的最高约束,而最后一个视图具有contentView的底部约束。

            注意: 永远不要给UIScrollViewcontentView提供静态高度。