2011-08-13 5 views
0

私はiOS開発が初めてです。誰も私に動作するサンプルプロジェクト/ページングベースのスクロールビューのチュートリアルを教えてもらえますか?私は、ユーザーがスクロールダウンすると、Webサービスからテーブルビューに多くのデータをロードする必要があります。 私は多くの時間を費やしましたが、私の必要性に合ったものは見つかりませんでした。どんな助けでも大歓迎です。ページングベースのUIScrollViewを実装するためのサンプルコードが必要

私は私の問題の解決策を見つけ出すことができました。今私はyのオフセットの違いに基づいてスクロールアップとダウンを検出しようとしています。問題は上向きであっても常に下向きになるようにドラッグを読み込むことです。これは私がスクロール方向を検出しようとしている方法です:

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate 
{ 
    CGPoint scrollOffSet = scrollView.contentOffset; 
    NSLog(@"Current Content offset: , y = %f", scrollOffSet.y); 
    NSLog(@"Previous offset , y = %f", self.previousYOffset); 

    if(scrollOffSet.y > self.previousYOffset) 
    { 
     self.previousYOffset = scrollOffSet.y; 
     NSLog(@"Scrolled Down"); 
     self.nextPageNumber++; 
     //Here I send the request to fetch data for next page number 
    } 
    else { 
     NSLog(@"Scrolled up"); 
     self.previousYOffset = scrollOffSet.y; 
    } 

} 


- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView 
{ 

    CGPoint scrollOffSet = scrollView.contentOffset; 
    NSLog(@"Current Content offset: y = %f", scrollOffSet.y); 
} 

問題がある:私は、スクロールアップまたはダウンし、それは常に「スクロールダウン」を表示するか、これそれも、次のページ番号のデータをフェッチするために行きます要求する予定がない場合また、上/下スクロールで返されるyオフセット位置も非常に混乱します。上向きスクロールを正確に検出する方法を教えてください。

答えて

0

「スワップ可能」なのはUIScrollViewですか?

ページングa UIScrollViewは非常に簡単です。最初にプロパティがYESに設定されていることを確認してください。 UIScrollViewは、それ自身のフレームをページのサイズ(ビューポートのようなもの)として使用します。

contentSizeプロパティを使用してscrollable areaを特定します。

例:

//scrollView is a UIScrollView instance 
int pageCount = 3; 
scrollView.pagingEnabled = YES; 
scrollView.contentSize = CGSizeMake(scrollView.frame.width*pageCount, scrollView.frame.height); 
+0

私は本当にスワイプ対応ではない、のUITableViewのスクロールイベントを読みたいです。 1ページに表示するデータを取得します。次に、ユーザーがスクロールダウンすると、次のデータセット(8レコードを含むページ)をAPIコール経由で取得する必要があります。 私がこれまで行ってきたことはこういうことです。 – salman

+0

まず、viewcontrollerに関連付けられたnibファイルでUIScrollViewコントロールを使用していないことに注意してください。 UIViewControllerでUIScrollViewDelegateを実装しようとしています。 – salman

+0

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { //ここでは、次のページのデータを取得するための "非同期"呼び出しを送信しています。 //ページ番号を増やす } – salman

関連する問題