2016-12-29 5 views
1

私はUITableViewを持っています。私はset bouncing only one side top side.になりますが、私はこの問題を解決できませんでした。このビデオリンクを見て、私にそれを解決してください。どんな提案も感謝して受け入れられます。 https://www.dropbox.com/s/qztsfkqoxuy4aaj/question.mov?dl=0テーブルビューの片側だけが跳ね返る

ここ

は、ここに私のテーブルビューの情報です。

+0

上部と下部のバウンスは、標準のiOSの動作です - これを防ぐユーザーに「間違っている」ように見えることがあります。 –

+0

しかし、私はプロジェクトのような流れが必要なので、私はそのようなアプリを開発する必要があります。 –

+0

@AshleyMills私はバッターの解決策が必要です。私はこのようにすべてのtableviewを設定しなければなりません。 –

答えて

6

テーブルビューのscrollviewのオフセット内容を確認する方法scrollViewDidScrollを使用してください。ユーザーがテーブルビューの下限を超えてスクロールしようとしているかどうかを確認します。その場合は、テーブルビューの最後までスクロールします。これはボトムバウンスを制限しませんが、ユーザーがボトムバウンスに気づかないほど素早くスクロールします。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView { 
     if (scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height) { 
      [scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, scrollView.contentSize.height - scrollView.frame.size.height)]; 
     } 
    } 

/// UPDATE-- Tableviewのコンテンツサイズがフレームよりも小さい場合、上記のコードは機能しない可能性があります。 あなたは、その場合には、以下を使用することができます。

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

    if(scrollView.contentSize.height > scrollView.frame.size.height) 
    { 
    if (scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height) { 
     [scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, scrollView.contentSize.height - scrollView.frame.size.height)]; 
    } 
    } 
    else if (scrollView.contentOffset.y >= 0) 
    { 
     [scrollView setContentOffset:CGPointMake(scrollView.contentOffset.x, 0)]; 
    } 
} 
+0

私はこれを試してみましょう。 –

+0

この回答を使用すると、テーブル内に1つの行しかない場合、その行は画面の下部に配置され、テーブルビューが自分自身をスクロールしようとすると、デリゲートメソッドが繰り返し呼び出されます –

+1

私のために –

関連する問題