gpt4 book ai didi

swift - 检测 UIScrollView 是否具有滚动高度

转载 作者:行者123 更新时间:2023-11-30 11:35:50 26 4
gpt4 key购买 nike

我有一个 UIScrollView,有时有足够的 contentHeight 来滚动,有时则没有。我还有一个基于用户滚动到 ScrollView 底部的按钮。

在用户不采取任何操作的情况下,如何检测 ScrollView 是否具有要滚动的 contentHeight,以便我可以适本地设置按钮的默认 isEnabled

谢谢!

最佳答案

您可以在 UIScrollView 上创建扩展

extension UIScrollView {
var contentUntilBotttom: CGFloat {
return max(contentSize.height - frame.size.height - contentOffset.y, 0)
}

var isAtTheBottom: Bool {
return contentUntilBotttom == 0
}
}

如果您使用 RxSwift,您可以观察到如下变化:

extension Reactive where Base == UIScrollView {
var isAtTheBottom: ControlEvent<Bool> {
let source = contentOffset
.map({ _ -> Bool in
return self.base.isAtTheBottom
})
return ControlEvent(events: source)
}
}

// So then subscribe to it
scrollView.rx.isAtTheBottom
.subscribe(onNext: { (isAtTheBottom) in
// Update anithing you need
})

关于swift - 检测 UIScrollView 是否具有滚动高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49782874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com