我有一个UIScrollView,有时候有足够的contentHeight滚动,有时候没有。我还有一个按钮,用户可以滚动到滚动视图的底部。
如果没有用户执行操作,如何检测滚动视图是否具有要滚动的contentHeight,以便我可以正确设置按钮的默认isEnabled
?
谢谢!
答案 0 :(得分:0)
您可以在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
})