TitaniumMobileのScrollEndの考え方

TitaniumMobileのTableViewなど、ScrollViewがあるものは、Scrollが終了したときのScrollEndというイベントを取得できます。

このScrollEndですが、引数として以下の3つのパラメータが与えられます。

  • size – 画面サイズ
  • contentSize – スクロールするコンテンツのサイズ
  • contentOffset – 現在スクロールしている位置

これらがどういう値なのかですが画像で表すとこんな感じです。

まずスクロールを全くしていないとき。

Sizeは画面サイズ、contentSizeは見えない部分を含めたスクロールするコンテンツのすべてのサイズです。

contentOffsetはどれくらいスクロールしたかなのでcontentSize – Sizeがその値になります。

つまりこの場合は全くスクロールしてないので0です。

 

最後までスクロールした場合はこうなります。

contentOffsetはcontentSize – sizeの値に常になるわけです。

 

これを考慮して、スクロールを最後まで仕切ったときを検知するコードはこうなります。

//ScrollEndイベントのコールバック
function doMore(e) {
	if(e.contentOffset.y >= (e.contentSize.height - e.size.height)){
		
	}
}

 

garicchi
対話システムとSFとアニメが好き たまにMicrosoftコミュニティに出現します たまに日経Linuxとラズパイマガジンで記事を書いたり Microsoft MVP 2014~2018(引退済み)

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください