在我的ViewController中,我使用StoryBoard在ScrollView中添加了一个ScrollView和一个视图(在ScrollView和View上设置了约束)。现在在我的代码中我使用View来动态添加其他视图。正在添加视图,但我的问题与滚动有关。我能够滚动,但它没有滚动到最后一个视图...我尝试执行以下操作
override func viewDidLayoutSubviews() {
ScrollView.contentSize.height = contentView.frame.height
}
但这不起作用,我也注意到内容视图(我正在添加视图的高度)高度是在viewDidLayoutSubviews()
中打印736,即使我添加更多视图当然应该增加其大小。
请任何帮助将不胜感激。
我正在将视图添加到内容视图中,如下所示:
let Description = UILabel(frame: CGRectMake(20, CGFloat(position), self.view.frame.size.width-40, 40))
Description.addConstraint(NSLayoutConstraint(item: view, attribute: .Height, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: 40))
Description.addConstraint(NSLayoutConstraint(item: view, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1, constant: self.view.frame.size.width-40))
contentView.addSubview(Description)
// i don't know if i should add constraints but i added anyway
答案 0 :(得分:5)
有效!
像这样编辑viewDidLayoutSubviews:
override func viewDidLayoutSubviews() {
self.view.setupContentViewForViewWithScroll(contentView: contentView)
let lastView : UIView! = contentView.subviews.last
let height = lastView.frame.size.height
let pos = lastView.frame.origin.y
let sizeOfContent = height + pos + 10
ScrollView.contentSize.height = sizeOfContent
}