swift - 确定 View 是否到达UIScrollView的顶部-LMLPHP
根据上面的图片,我想知道/检测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/

10-08 21:07