私のプロジェクトでは、実行時にuiwebviewをuiscrollviewに追加および削除する必要があります。つまり、ページングが有効になっているときに水平方向(左または右)にスクロールすると、新しいビューがuiscrollviewに追加され、そこをトラバースします。
uiscrollviewで左または右のスクロールを検出することは可能ですか?
Plzは、可能な限り最良のソリューション、サンプルコード、またはチュートリアルを教えてくれます。
前もって感謝します
私のプロジェクトでは、実行時にuiwebviewをuiscrollviewに追加および削除する必要があります。つまり、ページングが有効になっているときに水平方向(左または右)にスクロールすると、新しいビューがuiscrollviewに追加され、そこをトラバースします。
uiscrollviewで左または右のスクロールを検出することは可能ですか?
Plzは、可能な限り最良のソリューション、サンプルコード、またはチュートリアルを教えてくれます。
前もって感謝します
このような場合、スクロールビューでページングを有効にする必要があります。
サイズが320x480のスクロールビューがあり、各ページのサイズが320x480である10ページを表示することになっているとすると、スクロールビューのコンテンツサイズは320 * 10x480になります。
現在のページを判別する最良の方法は、スクロールビューのコンテンツオフセット値を使用することです。したがって、最初は、scrollviewが1ページ目を表示しているとき、そのコンテンツオフセットはx = 0、y=0になります。
2ページ目の場合x=320、y=0。したがって、contentOffset.xをページ幅で割ることにより、現在のページ値を取得できます。したがって、0/320 = 0は、最初のページを意味します。320/320 = 1は、2ページ目を意味します。
したがって、現在のページ値がある場合は、次のように、スクロールビューがどちらの方向に移動しているかを判断できます。
-(void) scrollViewDidScroll:(UIScrollView *)scrollView{
int currentPageOffset = currentPage * PAGE_WIDTH;
if (self.pageScrollView.contentOffset.x >= currentPageOffset + PAGE_WIDTH) {
// Scroll in right direction. Reached the next page offset.
// Settings for loading the next page.
currentPage = self.pageScrollView.contentOffset.x/PAGE_WIDTH;
}else if (self.pageScrollView.contentOffset.x <= currentPageOffset - PAGE_WIDTH) {
// Scroll in left direction. Reached the previous page offset.
// Setting for loading the previous page.
currentPage = self.pageScrollView.contentOffset.x/PAGE_WIDTH;
}
}