簡體   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