私UITableView
はスクロール可能なを持っています。ユーザーUITableView
が一定量スクロールしてから指を離すと、上にスクロールして戻るのではなく、上から 50 ポイントスクロールして、画面の上端と一番上の間に 50 ポイントのギャップを効果的に残します。細胞。
現時点では を実装scrollViewDidEndDragging
していますが、ビューがスクロールして戻る場所を設定する方法がわかりません。
以下を試してみましたが、思い通りに動作しません。
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
// If scrolled over 100 points
if(-100 > (double)self.tableView.contentOffset.y) {
[self.tableView setContentOffset:CGPointMake(0, -50) animated:YES];
}
}
上記のコードは、両方のアニメーションが同時に実行されているように、奇妙なちらつきを引き起こしますが、よくわかりません。
どんな助けでも大歓迎です。
より多くの情報で更新
この投稿に基づいて「プルダウンして更新」機能を実装しています: https://stackoverflow.com/a/6392145/120615
UIView
の上部にエクストラを追加しました。UITableView
をスクロールするUITableView
と、UIView
が下に移動して表示されます。画面から指を離すと、UITableView
スクロールして一番上に戻り、新しくUIView
追加したものが非表示になります。
私がしたいのは、指を離すとUITableView
スクロールが上に戻りますが、上から 100 ポイント停止し (アクティビティ インジケーターをユーザーに表示できるようにするため)、2/3 秒後に完全に上にスクロールすることです。