我花了两天时间尝试了各种解决方案混合和纯自动布局方法实现自动布局之前的一个简单的滚动视图设置,现在它是官方的 - 我一定是太愚蠢了。我主要在故事板中进行设置(嗯,就是这样)。
所以这是我的求助请求。
视图树:
UIView
-UIView
-UIView
..-UIScrollview
...-UIButton
...-UIButton
...-UIButton
这些按钮应该水平滚动(从左到右,反之亦然)。有人可以吗please让我知道如何设置约束以使用纯自动布局实现此目的???
--
我尝试过混合方法,如下所示:
UIView
- UIView
- UIView
..-UIScrollview
...-UIView (contentview)
....-UIButton
....-UIButton
....-UIButton
...并设置固定的宽度和高度约束contentview
和translatesAutoresizingMaskIntoConstraints
根据 Apple 的技术说明进行设置。按钮和滚动视图是使用约束设置的。这使得滚动视图滚动(是的),但是可惜,它滚动得太远了!据我所知,滚动宽度在某种程度上是我设置内容视图的两倍???!!!???
我也尝试了纯自动布局方法,都使用contentview
和没有。All意见是translatesAutoresizingMaskIntoConstraints=NO
, 除了self.view
。这些按钮具有固定的宽度/高度约束,并固定到滚动视图的所有四个边缘。没有任何滚动。
所以我完全困惑为什么我不能让它正常工作。非常感谢任何帮助,如果您需要任何其他信息,请询问!
更新了屏幕截图和解决方案 -按钮Z约束:
![enter image description here](https://i.stack.imgur.com/fdkm8.png)
编辑@杰米·福雷斯特因此,解决方案是最后一个按钮上的错误尾随约束。我设置的值不是 6441,而是负数 -6441。棘手的是,在 Storyboard 中设置值时,Pin 工具栏中有两个选项:
![enter image description here](https://i.stack.imgur.com/18dfp.png)
当前画布值为负(导致不滚动),下面的选项为正(激活滚动)。这意味着我并不愚蠢,但我猜至少是半盲的。尽管如此,我要辩解一下,XCode 没有显示“不正确”设置的错误,这不是有点令人不安吗?
再次编辑现在这很有趣......将尾随值从 -6441(无滚动)更改为 6441 启用滚动。但我的老朋友“内容大小太多”又回来了,导致内容大小是应有大小的两倍!获得正确内容滚动的解决方案是将尾随约束设置为零!这在 Storyboard 中工作时并不明显,但看看 @Infinity James 的代码,它应该是这样的。