我花了两天的时间来尝试各种混合和纯自动布局方法的解决方案,以实现在自动布局之前的简单滚动视图设置,现在已经正式宣布了-我一定太愚蠢了。我主要是在Storyboard中进行设置(嗯,就是这样)。
因此,这是我寻求帮助的请求。
视图树:
UIView
-UIView
-UIView
..-UIScrollview
...-UIButton
...-UIButton
...-UIButton
这些按钮应该水平滚动(从左到右,反之亦然)。有人可以请让我知道如何设置的约束来实现这个使用纯自动布局???
-
我尝试过混合方法,如下所示:
UIView
- UIView
- UIView
..-UIScrollview
...-UIView (contentview)
....-UIButton
....-UIButton
....-UIButton
......对于与设置固定宽度和高度的限制contentview
以及translatesAutoresizingMaskIntoConstraints
按照苹果公司的技术说明设定。使用约束设置按钮和滚动视图。这会使scrollview滚动(是),但是可惜,它滚动得太远了!据我所知,滚动宽度以某种方式比我在contentview中设置的宽度翻了一番。
无论contentview
有无,我都尝试了纯自动布局方法。除了以外,所有的观点都是。这些按钮具有固定的宽度/高度约束,并固定到滚动视图的所有四个边缘。没有滚动。translatesAutoresizingMaskIntoConstraints=NO
self.view
所以我很困惑为什么我无法使其正常工作。非常感谢您的帮助,如果您需要其他信息,请询问!
带有解决方案 -buttonZ约束的更新屏幕截图:
编辑@ Jamie Forrest 因此,解决方案原来是对最后一个按钮的错误尾随约束。我设置的值为负值-6441,而不是6441。棘手的是,在情节提要中设置值时,“固定”工具栏中有两个选项:
当前画布值是负的(导致没有滚动),下面的选项是正的(激活滚动)。这意味着我并不傻,但我猜至少是半盲。尽管,以我的辩护,XCode不会为“不正确”设置显示错误,是否有点令人不安?
再次编辑 现在,这很有趣...将尾随值从-6441(无滚动)更改为启用了6441的滚动。但是我的老朋友“ contentsize太大”又回来了,导致内容大小是应该的两倍!获得正确内容滚动的解决方案是将尾随约束设置为零!当在Storyboard中工作时,这并不明显,但查看@Infinity James的代码,它应该是这样。