2011-08-02 6 views
0

私は非常に多くのTableViewCellを持っていますが、テーブルビューの終わりに、私はテーブルビューを作成するコードを作りたいがゼロになるオフセットテーブルビュー、ので、これでその先頭に戻るtableViewのオフセットをゼロにする方法は?

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { 
if (scrollView.contentOffset.y <=-30) { 
    [self dosomething]; 
} 
else if(scrollView.contentOffset.y >=1150){ 
    [tableViewA setContentOffset:CGPointZero animated:YES];//this code is called and yet offset doesn't become 0 
} 
} 

にテーブルビューを持っていますコード、ユーザーがトップにバウンスすると、それはdosomething関数を呼び出すでしょう。そして、もし我々が一番下にバウンスすると、それはトップにtableViewAを作成しますが、それはまだ底にあります。私が間違っていなければ、tableViewは再び底に跳ね返ります。誰かが私に手がかりを与えることができますか?

答えて

0

あなたのコードを試してみましたが、tableviewはcontentOffsetを(0,0)に設定しましたが、ドラッグアニメーションを続行します。スクロールアニメーション中に、tableviewがアニメーション化され、境界が変わるたびにlayoutSubviewsを呼び出すしたがってcontentOffsetは(0,0)に設定されていましたが、その直後にスクロールアニメーションを続けるために境界が新しい値に設定されました。

たぶん、あなたは試すことができます

- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView { 
    [self setContentOffset:CGPointZero animated:YES]; 
} 
関連する問題