ScrollView没有正确调整大小

时间:2018-05-09 16:02:24

标签: ios autolayout scrollview orientation

我有一个带垂直滚动的ScrollView。当方向更改为横向时,ScrollView的原因是适合我的所有按钮。

有两个问题可能有关:

  • 当处于纵向(不需要滚动)时,视图仍然想要滚动。
  • 在横向时,它会在底部留下太多的滚动空间。

约束:

  • ScrollView - 尾随/前导空间到superView,底部空间到label2,顶部空间到label1
  • ContentView - 尾随/前导/下/顶部空间到superView,宽度等于mainView
  • Label1 - 对齐中心X,顶部空间为superView(60),底部空间为scrollView
  • Label2 - 对齐中心X,底部空间为superView(60),顶部空间为scrollView
  • 按钮 - 将中心X对齐,顶部空间为superView(50),高度等于(50),底部空间为其他按钮(30)或底部空间为superView(50)

调整滚动视图插件未选中。它全部在autolayout中,没有代码。

查看控制器示例:

enter image description here

奇怪的是,我有其他完美工作的滚动视图,相应调整大小。在尝试复制过程时,我一直得到相同的结果......

环顾四周,但天堂找不到任何有用的答案。所以任何帮助都将不胜感激。

如果需要,我会添加其他信息。我确信它是一个简单的解决方案,我一直忽视-_-

2 个答案:

答案 0 :(得分:1)

锚定滚动视图的前导和宽度以查看前导和宽度;将top1标记为label1 bottom和bottom to label2 top。

删除内容视图(不需要)。将所有内容添加到滚动视图。

锚定按钮1 center-x滚动视图center-x和top滚动视图顶部。如果需要使用约束给出button1的宽度或高度,请不要使用滚动视图的宽度或高度;相反,将按钮的宽度固定到视图的宽度,高度以查看高度。滚动视图的子视图不应依赖滚动视图来确定其大小。

锚点按钮4顶部到按钮3底部,中心-x滚动视图中心-x;最重要的是,锚定按钮4底部滚动视图底部(这将为您拉伸滚动视图)。这将阻止在不需要滚动时滚动。

答案 1 :(得分:0)

我认为你的"底部空间超级按钮(50)在按钮"是ambiguos,我建议删除它,另一个问题是你的contentView不知道它的真实位置,试着用你的scrollView"添加"你的contentView的中心X和Y.