ScrollViewについて個人的メモ


スクロール幅取得

override func scrollViewDidScroll(scrollView: UIScrollView) {
        contentOffset = scrollView.contentOffset
}

RxSwift

Rx-1.swift
         tableView.rx.contentOffset //contentOffsetが変化したとき実行 
             //$0がスクロール幅
            .map { hogehogeTransition($0.y) } //スクロール幅を何かしらに変換したいときはここ
            .subscribe(onNext: {
                hugahugaFunction($0.y) //スクロール幅を用いた何かしらの処理
            })
            .disposed(by: disposeBag)

このパターンもあるらしい
違いはあとで追記

Rx-2.swift
         tableView.rx.didScroll
            .withLatestFrom(tableView.rx.contentOffset)
            .map { hogehogeTransition($0.y) }
            .subscribe(onNext: {
                hugahugaFunction($0.y)
            })
            .disposed(by: disposeBag)

Scrollのパラメータ

こんがらがりがちな3つが図でまとまっている
contentSize , contentOffset , frame.size
UIScrollView(UITableView)のスクロール量を計算するときに確認する図 - Qiita