【发布时间】:2015-05-31 15:42:54
【问题描述】:
我有一个 UIScroll 视图,它只包含一个子视图。名为contentView的子视图是一个UIView。这是我在viewDidLoad() 中所做的:
self.scrollView = UIScrollView()
self.view.addSubview(self.scrollView)
self.scrollView.backgroundColor = UIColor.yellowColor()
// pin all edges to the edges of the superview (self.view)
self.scrollView.snp_makeConstraints { (make) -> Void in
make.edges.equalTo(self.view)
}
// create contentView
self.contentView = UIView()
self.contentView.backgroundColor = UIColor.redColor()
self.scrollView.addSubview(self.contentView)
// pin the edges of the contentView to the scrollView
self.contentView.snp_makeConstraints { (make) -> Void in
make.edges.equalTo(self.scrollView)
}
let myView = UIView(frame: CGRectMake(100, 100, 20, 300))
myView.backgroundColor = UIColor.greenColor()
self.contentView.addSubview(myView)
结果是这样的:
如上一个屏幕截图所示,没有红色的 contentView。
接下来,我尝试调整viewDidLayoutSubviews()中的contenView的大小:
let newSize: CGSize = self.contentView.systemLayoutSizeFittingSize(UILayoutFittingCompressedSize)
println("newSize: \(newSize)")
结果是:
newSize: (0.0, 0.0)
如何设置正确的 contentView 大小或设置 UIScrollView 的 contentSize 的正确大小?
【问题讨论】:
-
你发现了吗?很想知道你做了什么...
-
您必须将绿色视图的底部边缘固定到 contentView 的底部。
标签: ios swift uiview uiscrollview