如何检查 UIScrollView 内容是否不需要使用滚动

how to check if UIScrollView content doesn't need to use scroll

我的问题是,如果滚动视图的内容不是全部可见,我需要更改滚动视图下方的标签文本颜色。

例如:我有一个红色标签,如果滚动视图的所有内容都可以在屏幕上看到(根本不使用滚动),并且标签如果我的滚动视图中的所有内容都不可见,则为蓝色。如何以编程方式进行?

注意:我有一个 contentView -> scrollView(以编程方式)-> stackView(以编程方式)。 (滚动视图内的堆栈视图和内容视图内的滚动视图。以及内容视图下方的标签)

谢谢。

1:获取scrollView的内容视图的高度

let totalHeight = scrollView.contentSize.height

2:在 viewDidLoad 中检查:

if totalHeight > scrollView.frame.size.height { 
    // can scroll more 
} else { 
   // full content visible
}

3:一旦用户开始滚动,你可以调用:

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    if (scrollView.contentOffset.y >= (scrollView.contentSize.height - scrollView.frame.size.height)) {
        //reached to bottom
    } else {
        // can scroll more
    }
}