当用户滚动50%的scrollView内容时,我试图记录一些事件。
我可以使用scrollView.contentOffset.y获取滚动量,如下所示:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
NSLog(@"%f",scrollView.contentOffset.y);
}
迅速:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
print(scrollView.contentOffset.y)
}
当我向下滚动到scrollView的底部时,我可以找到一下contentArea的高度,可以说值是2000,并且可以硬编码值1000,因为只有在用户超过整个contentSize的50%。
但是我希望它是动态的,因为tableView的dataSource将来可能会更改,这将导致scrollView的偏移量的底部大于或小于2000。
我想知道是否甚至在滚动到底部之前也可以检测到tableView的最大contentOffset值?
谢谢。
答案 0 :(得分:1)
UIScrollView有一个名为“ contentSize”的属性。
https://developer.apple.com/documentation/uikit/uiscrollview/1619399-contentsize
在填充表格视图以获取表格视图可以容纳的总高度后,您可以使用它。
注意:仅当行的高度恒定而不是可变时有效