UITableView でカスタム サイズのページのページングを実装しようとしています。私が達成しようとしているのは、tableView の下部にある次のセルの上部を表示しながら、アクティブなセルの上部を tableView の上部に揃えることです (ユーザーがスクロールしてより多くのセルを表示するように傾斜させるため)。 .
私の細胞はすべて同じ高さです。
これを設定paging=YES
すると、ページをフリックするにつれて増加するわずかなオフセットが生じます。これは、tableView が単一のセルよりもわずかに高く、セルの高さ/ページ サイズが揃っていないことが原因です。
ページングを有効にして、さまざまなことを試しました。tableView のサイズをセルの高さに設定しようとしましたが、クリッピングとマスキングをオフにして、ユーザーが次のセルを表示できるようにしました。次のセルは、セルが tableView の境界ボックスにスクロールする前の最後のミリ秒で下層の scrollView にのみ追加されるため、これは機能しません。
次に、ページング動作を模倣するために、さまざまな scrollView デリゲート メソッドの実装を開始しました。
私は、とりわけ、次のようなことを試しました:
- (void) scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
{
float cellHeight = [myCell rowHeight];
int index = floorf(scrollView.contentOffset.y / cellHeight);
*targetContentOffset = CGPointMake(targetContentOffset->x, targetContentOffset->y = (index * cellHeight));
}
それは一種の正しいことをしますが、ページングが有効になっている scrollView/tableView のようには動作しません。
ここで同じことを達成しようとしている人々からの投稿をいくつか見つけましたが、答えは、私が自分で試したものと同じ「非ネイティブスナップフィール」に苦しんでいます。
助けてくれてありがとう。
iOS >= 5.0