スクロール幅取得
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