监听滚动条滚动到底部

  • 扩展UIScrollView

import UIKit
import RxSwift
import RxCocoa
 
extension Reactive where Base: UIScrollView  {
     
    //视图滚到底部检测序列
    var reachedBottom: Signal<()> {
        return contentOffset.asDriver()
            .flatMap { [weak base] contentOffset -> Signal<()> in
                guard let scrollView = base else {
                    return Signal.empty()
                }
                 
                //可视区域高度
                let visibleHeight = scrollView.frame.height - scrollView.contentInset.top
                    - scrollView.contentInset.bottom
                //滚动条最大位置
                let threshold = max(0.0, scrollView.contentSize.height - visibleHeight)
                //如果当前位置超出最大位置则发出一个事件
                let y = contentOffset.y + scrollView.contentInset.top
                return y > threshold ? Signal.just(()) : Signal.empty()
        }
    }
}

参考文章:Swift - RxSwift的使用详解68(监听滚动条滚动到底部的行为:reachedBottom)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 4月22日 学习 在家早上七点多就起来了 被了三十个单词 做了四篇阅读理解 很难看下去阅读感好不好 还是词汇...
    愿温久阅读 337评论 0 0
  • 1、五年计划,让自己看到5年后的自己。(这本书读完也要给五年后的自己写封信,然后确定具体的目标。) 2、三步法把愿...
    一湖清水阅读 833评论 0 0
  • 观飞燕知冬夏, 品春水知冷暖。 看你容颜无奈动心, 知你心便晓吾心归途。 恋是我的承诺, 一生的诺言, 永不, 改变。
    帝师阅读 188评论 0 0
  • 你幸福吗?在哪些瞬间,你感到很幸福?你认为怎样是幸福?
    麦琪简书阅读 76评论 0 0

友情链接更多精彩内容