在ScrollView Swift中忽略超级视图的尾随空格

plu*_*mwd 0 xcode ios swift

我目前正在Xcode 6的Storyboard视图中工作.我有一个带有几个按钮元素的ScrollView容器.我希望有一排3个元素,第一个和最后一个对齐到它们各自的(左或右)边缘.

我遇到的问题是第3个元素.我一直将其尾随空格设置为10到Superview,但元素不会出现在屏幕上.对于所有边,ScrollView的约束设置为0.

我在没有ScrollView的情况下完成了相似的操作并且间距设置正确,只是在ScrollView中它没有正确对齐.

Fre*_*ame 5

ScrollView以不同方式处理约束.它使用前导/尾随约束来确定内容可以滚动多远.因此,当您使用常量== 10创建尾随约束时,滚动视图会认为,如果您的视图不能水平放入ScrollView,并且用户尝试滚动它们,那么右边第三个应该有10个点宽的空白空间视图.

如果我理解正确,您希望三个视图适合屏幕(水平).在这种情况下,除了前导/尾随约束之外,您还必须以某种方式设置它们的宽度.

(从我的观点来看)最实用的方法是在scrollView中添加某种contentView,以便其他视图成为该contentView的子视图.然后,您将contentView中的前导/尾随约束添加到scrollView 以及 contentView 的宽度约束(例如,带有const == 0和contentView.width == scrollView.width的前导/尾随约束).然后,您可以像往常一样将视图添加为contentView的子视图.