ios 8 scrollview切断了内容的宽度

时间:2015-07-16 05:30:07

标签: ios uiscrollview autolayout

我花了好几个小时试图让scrollview与autolayout一起工作。我做了一些很好的研究,并阅读了这些伟大的文章

http://natashatherobot.com/ios-autolayout-scrollview/ http://spin.atomicobject.com/2014/03/05/uiscrollview-autolayout-ios/

我认为我正确设置了一切,但我的问题是,在我的垂直滚动滚动视图中,我将内容高度显式设置为800,但内部容器的宽度从右边缘切下约32像素。绿色背景是scrollview,因此它可以正确填充视图,但不管怎样,contentView的宽度都没有强制执行,或者scrollView有一些插入。调试器说不是这种情况。

您可以在屏幕截图中看到所有约束。内容视图的高度约束为800,未在下图中展开...

另外有趣的是,当我将滚动边缘固定到外部视图时,尾部和前导对齐设置为-16。并且不确定这是否导致了我所拥有的30+像素问题...

override func viewWillLayoutSubviews() {
        super.viewWillLayoutSubviews()
        self.contentView.frame = CGRectMake(0, 0, UIScreen.mainScreen().bounds.width, self.contentView.frame.height)

        scrollView.frame = self.view.frame
        scrollView.contentInset = UIEdgeInsetsZero
        scrollView.contentOffset = CGPointZero
        scrollView.contentSize = CGSizeMake(320, 800)
    }

这是问题图像和约束

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

几个小时之后,我发现有趣的是我还必须在滚动视图和内容视图之间添加相等的宽度。这看起来完全没必要,但它确实有效....作为参考,我仍然在内容视图和最外层视图之间保持相等的宽度,以及将滚动视图固定到外部视图,并将内容视图固定到滚动视图。 / p>