我已经花了两天时间试验了 混合和纯自动布局方法的各种解决方案,以实现在自动布局之前的一个微不足道的滚动视图设置,现在它是正式的-我一定是太愚蠢了。我主要是在 Storyboard 中设置这个(好吧,就是这样)。
所以我请求你们的帮助。
视图树:
UIView
-UIView
-UIView
..-UIScrollview
...-UIButton
...-UIButton
...-UIButton
按钮应该是水平滚动的(从左到右,反之亦然)。有人能让我知道如何设置约束,以实现这使用纯自动布局? ? ?
--
我尝试了混合方法,就像这样:
UIView
- UIView
- UIView
..-UIScrollview
...-UIView (contentview)
....-UIButton
....-UIButton
....-UIButton
根据苹果的 TechNote 设置 contentview
和 translatesAutoresizingMaskIntoConstraints
的宽度和高度限制。按钮和 scrollview 是使用约束设置的。这使得 scrollview 滚动(耶) ,但是唉,它滚动得太远了!据我所知,滚动宽度比我在内容视图中设置的宽度增加了一倍?
我也尝试了纯自动布局的方法,既有 contentview
也有没有。视图是 translatesAutoresizingMaskIntoConstraints=NO
,除了 self.view
。按钮具有固定的宽度/高度约束,并且固定在 scrollview 的所有四条边上。没有卷轴。
所以我完全不明白为什么我不能让它正常工作。任何帮助都是非常感谢的,如果你需要任何其他信息,请问!
更新的解决方案截图- ButtonZ 约束:
编辑@Jamie Forrest 因此,最后一个按钮的尾随约束是错误的。我设置的值是负的,而不是 -6441。棘手的是,当在故事板中设置值时,在 Pin 工具栏中有两个选项:
当前画布值为负(导致无滚动) ,下面的选项为正(激活滚动)。这意味着我不笨,但至少是半盲的。不过,容我辩解一下,XCode 没有显示“不正确”设置的错误,这是不是有点令人不安呢?
再次编辑 现在这是有趣的... 改变尾随值从 -6441(没有滚动)到6441启用滚动。但是我的老朋友“内容太多”又回来了,导致内容的大小是原来的两倍!获得正确内容滚动的解决方案是将尾随约束设置为 ZERO!在使用 Storyboard 时,这一点并不明显,但是看看@Infinity James 的代码,它应该是这样的。