ios - 如何检查 UIScrollView 内容是否不需要使用滚动
问题描述
我的问题是,如果滚动视图的内容并非全部可见,我需要更改滚动视图下方的标签文本颜色。
例如:如果滚动视图的所有内容都可以在屏幕上看到(根本不使用滚动),我有一个红色的标签,如果我的滚动视图内的所有内容都不可见,则标签颜色为蓝色。如何以编程方式进行?
注意:我有一个 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
}
}
推荐阅读
- graphql - 围绕 Apollo Query 组件重新渲染的规则是什么?
- ibm-integration-bus - 如何在 IIB 中创建一个变量,该变量具有每个单个流的范围?
- php - 在 Laravel 中将旧电子邮件更改为新电子邮件的困难
- javascript - Map an array of objects using javascript, it returns an undefine values
- apache-spark - spark - 避免冗长模式的 stackoverflow 错误
- javascript - 如何通过比较两个不同的独特属性来对不同大小的对象数组中的元素进行分组?在javascript中
- javascript - 如何修复 FB Instant Game 中的“分享选项”错误
- javascript - 如何在 HTML 中使用多个 ng-app 更改多个输入字段的 CSS 属性?
- sql - 弱实体集中的部分键
- javascript - 为什么在承诺给我一个错误之后在 ExpressJS 中使用 then() 回调?