我花了好几个小时试图让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)
}
这是问题图像和约束
答案 0 :(得分:1)