根据上面的图片,我想知道/检测UIView 3是否已经到达UIScrollView的顶部。
到目前为止,我所做的是在UIScrollView中获取UIView的偏移量,然后检查它是否小于或等于0(零)。
let offsetY = scrollView.convert(myView.frame, to: nil).origin.y
if offsetY <= 0 {
print("myView is at Top")
}
但上面的代码肯定是错的!有人有主意吗?
蒂亚!
最佳答案
只需将滚动视图的顶部和v3的顶部转换为相同的坐标系,现在您只需查看哪个坐标系更高。
设sv
为滚动视图,v3
为视图3。然后:
func scrollViewDidScroll(_ sv: UIScrollView) {
let svtop = sv.frame.origin.y
let v3top = sv.superview!.convert(v3.bounds.origin, from:v3).y
if v3top < svtop { print("now") }
}
关于swift - 确定 View 是否到达UIScrollView的顶部,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58211473/