繁体   English   中英

iOS:程序化 ScrollView 不滚动(contentSize 设置)

[英]iOS: Programatic ScrollView not scrolling (contentSize set)

我在代码中创建了一个 scrollView 并向其中添加了几个标签:

private let scrollView: UIScrollView = {
    let scrollView = UIScrollView()
    scrollView.backgroundColor = .systemTeal
    return scrollView
}()

在 viewDidLoad 中:

view.addSubview(scrollView)
[view1, label1, label2, label3, label4, label5].forEach { scrollView.addSubview($0) }

setViewContraints()

然后在 viewDidLayoutSubviews 中:

override func viewDidLayoutSubviews() {
    scrollView.frame = view.bounds
    scrollView.contentSize = CGSize(width: view.width, height: view.height + 300)
}

第一个视图锚定到scrollview safeAreaLayoutGuide topAnchor,然后每个后续标签的topAnchor 锚定到前一个bottomAnchor 的底部。 每个视图的尾随和前导锚点都锚定到滚动视图的尾随和前导锚点。 这是在 setViewConstraints() 中完成的。

view.width 和 view.height 分别返回 view.frame.size.width 和 view.frame.size.height。

所有内容看起来都很好,但 scrollView 不起作用。 我究竟做错了什么?

我意识到我需要将最底部视图的底部锚点设置为滚动视图的底部锚点。 那成功了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM