UIScrollView自动布局 - 未正确设置内容大小

时间:2013-06-27 00:07:47

标签: iphone ios uiscrollview autolayout

我已经看过很多关于这个主题的Stack Overflow线程(以及iOS 6 release notes),但似乎没有人在这里帮助我,或者我无法理解它们。我有一个大小(244,46)的滚动视图,我想通过分页滚动到其宽度的两倍。

My storyboard, showing the list of buttons and the list of constraints, along with the purple constraint that won't delete

在我的故事板中,我已经列出了滚动视图及其子视图(一行UIButtons) - 我设置了它们的起源,但删除了所有约束条件“将空间引导到superview”。我用“前导空格到按钮”替换它们 - 连续按钮之间的水平间距。在代码中,我将按钮'translatesAutoresizingMaskIntoConstraints设置为NO。

但是我无法滚动滚动视图。它只是反弹,表明滚动视图的右侧有一些东西,只是遥不可及。有什么我做错了,还是我需要尝试让其工作的其他东西?

哦,在Interface Builder中的最后一个可见按钮(不是行中的最后一个按钮)上还有一个“对超级视图的尾随空间”约束,以及“{{{ 1}}“对第一个按钮的约束不会被删除(参见图像中的紫色约束)。他们恼人地只是出现在列表中的另一个位置!为什么会发生这种情况,为什么内容大小没有正确设置?

谢谢你的时间!

1 个答案:

答案 0 :(得分:0)

我接受了@ robmayoff的建议并将我的按钮创建移动到代码中,它奇迹般地奏效了。 (我担心Auto Layout对我来说仍然是希腊语,但我以某种方式管理它。)如果将来有人需要创建一个滚动的按钮列表,这里有一种方法,不涉及设置{{1明确地说,如果比IB稍微丑陋。

contentSize

我希望这对某人有所帮助,因为它肯定会给简单的滚动视图带来很多麻烦!谢谢你的帮助。