Xcode 7垂直滚动查看问题

时间:2016-05-06 19:05:20

标签: ios xcode swift autolayout size-classes

我在Xcode 7.3中创建垂直滚动视图时遇到问题。我已经关注了SO和其他地方的几个教程,但出于某种原因,我的最顶层视图的宽度似乎超出了屏幕或向左移动。滚动视图仅限于垂直滚动,这是我的意图,但内容部分显示在屏幕上。

我尝试将按钮水平居中并固定在内容视图的顶部和底部。在模拟器上,它们显示在屏幕左侧的一半,但它们在故事板中显得很好而没有约束问题。我甚至在助理编辑器中预览视图3.5,4和4.7英寸的屏幕,它看起来像我期望的那样。但是当我在模拟器上运行它时,它搞砸了。此外,内容视图的背景应该是白色的(用于测试目的),但它显示最顶层视图的灰色。

这就是我所做的以及我的约束的图片

  1. 添加滚动视图并固定到超级视图顶部,底部,左侧,右侧(0,0,0,0)

  2. 添加内容视图并固定到滚动视图顶部,底部,左侧,右侧(0,0,0,0),并添加恒定高度1000.

  3. 我按住Ctrl键并从内容视图拖动到视图(滚动视图的父级)并设置相等的宽度约束。

  4. 将内容视图图钉1中的2个按钮放在顶部,将另一个按钮放在底部。两者都是水平居中的。

  5. 这就是它在模拟器上的样子。

    Simulator-Actual

    这就是我在iPhone屏幕上看起来的样子。

    Storyboard-Expected

2 个答案:

答案 0 :(得分:0)

我认为你已经正确设置了所有约束。但是还是再次检查一下。

步骤1: - 删除勾选调整scrollview insets

enter image description here

第2步: - 如你所说,给予领先,试验,上,下= 0。

enter image description here

步骤3: - 与步骤相同,从superview设置Leading,Trialing,Top,Bottom = 0

enter image description here

警告: - 您需要同时检查约束检查器,因为有时需要-20的前导空格。

步骤4: - 将约束设置为第1个按钮Top,Leading,Trialing

enter image description here

步骤5: - 将前导,试验,垂直空间设置为按钮1和底部(从UIView底部)

如果给button1提供垂直间距并给底部查看,那么你不需要设置contentsize,否则它会自动滚动。

enter image description here

我希望这会对你有所帮助。

答案 1 :(得分:0)

给它水平中心约束而不是检查