【问题标题】:iOS Storyboard View Controller constraints do not work properlyiOS Storyboard View Controller 约束无法正常工作
【发布时间】:2016-06-15 03:22:04
【问题描述】:

我在 Storyboard 中有我的 ViewController。情节提要中的一切似乎都很好,但是当我在模拟器上构建它时,它在侧面显示出奇怪的白色地方。当我将 View 的背景更改为蓝色时,我意识到空白是由我的 View 引起的。什么会导致这种问题?

我的视图和约束层次结构:

我的故事板视图:

在模拟器上查看:

【问题讨论】:

  • 我认为你的滚动视图约束设置不正确。尝试更新它。
  • 如何更新它?我必须设置什么值?
  • 你的滚动视图是全屏的,我的意思是高度吗?并确保您通过按 Command + 1 查看完整大小的模拟器。
  • 是的,我的滚动视图是全屏的
  • 确保您的 scrollViews 和 contentViews LeadingSpace 和 TrailingSpace 为 0,看来您从 LeadingSpace 和 TrailingSpace 中留下 20 分。

标签: ios iphone uiviewcontroller uistoryboard nslayoutconstraint


【解决方案1】:

确保您的 scrollViews 和 contentViews LeadingSpace 和 TrailingSpace 为 0,您似乎离开了 LeadingSpace 和 TrailingSpace 20 pts。

您的约束应如下所示:

确保将 MainView/ContentView 的宽度设置为 scrollView。

你搞砸的是,你将 scrollView 宽度设置为 ViewControllers View,删除该约束,它应该可以正常工作。

编辑/更新:

我已经完成了测试演示,它工作得非常好,没有任何解决方法。您可以在下面看到 iPhone 5S 和 iPhone 6S Plus 的 Storyboard Preview 屏幕截图。 ViewControllers 视图为蓝色,ContainerView 为橙色。

下面是scrollView的约束: (添加约束时请确保按下 Alt 按钮)

ScrollViews 约束如下:

ContainerView 约束:

ContainerViews 约束如下:

最后一件事,在容器视图中,所有视图都应该具有从上到下的约束,以便计算滚动视图所需的高度。并且也不要创建冲突的约束 - 将 imageView 的 LeadingSpace 和 TrailingSpace 设置为 ContainerView(SuperView) 并同时设置固定宽度。

【讨论】:

  • 我按照你说的做了,但还是没有得到想要的结果。我的限制:postimg.org/image/iatan1t5v 我的观点:postimg.org/image/z4ujev3d7
  • 我没有设置 ScrollView 宽度等于 ViewControllers 视图。这很奇怪,但现在如果我将 ScrollView 尾随边距更改为 20 并且 ScrollView 导致 -20 它可以工作并准确显示我想要的内容。为什么它会起作用,我应该依赖它吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-16
  • 2015-04-23
  • 2016-03-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多