如何检查 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
}
}
我的问题是,如果滚动视图的内容不是全部可见,我需要更改滚动视图下方的标签文本颜色。
例如:我有一个红色标签,如果滚动视图的所有内容都可以在屏幕上看到(根本不使用滚动),并且标签如果我的滚动视图中的所有内容都不可见,则为蓝色。如何以编程方式进行?
注意:我有一个 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
}
}